Arret du Sub sur un .find

  • Initiateur de la discussion Initiateur de la discussion Jexcelpo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jexcelpo

Guest
Bonjour le forum

J'ai un soucis sur une macro que j'ai envoyer a plusieurs utilisateurs, je ne comprends pas pourquoi chez certains j'ai des problemes et les autres pas
Le probleme est que la macro s'arrete sur la ligne :
Set FindValCel = .Find(cel, LookIn:=xlWhole)
Parcequ'il ne trouve pas "cel" dans la plage demandée... pourquoi s'arrete t'il la ? je lui demande rien, si il trouve rien pas grave, il continu si il trouve, d'ou cette ces intructions :

If Not FindValCel Is Nothing Then
cel.Offset(, col1) = FindValCel.Offset(, 11)
cel.Offset(, col2) = FindValCel.Offset(, 13)
End If

Je comprends pas pouquoi il plante au Set Findvalcel...

je comprendrais qu'il plante sans le if not parceque je lui demanderai de copier l'offset de quelque chose qu'il ne trouve pas mais la c'est pas le cas
Je lui demande de trouver un truc, il le trouve pas, il devrait continuer enfin le pire c'est que ca marche chez moi, j'ai bo essayer de faire des erreur quand il trouve Nothing il continu la macro va dans la feuille suivante ect...


Sub CopyInfo()

Dim cel As Range ,FindValCel As Range
Dim fin As String
Dim x As Integer ,nbfeuil As Integer ,col1 As Integer, col2 As Integer

col1 = 1
col2 = 2

nbfeuil = Worksheets.Count - 1


fin = Sheets("RecapExtractReel").Range("A65536").End(xlUp).Row

For x = 2 To nbfeuil
For Each cel In Sheets("RecapExtractReel").Range("A10:A" & fin)
With Sheets(x + 1).Range("A:A")

Set FindValCel = .Find(cel, LookIn:=xlWhole)

If Not FindValCel Is Nothing Then

cel.Offset(, col1) = FindValCel.Offset(, 11)
cel.Offset(, col2) = FindValCel.Offset(, 13)

End If
End With
Next cel
col1 = col1 + 2
col2 = col2 + 2
Next x

End Sub

Merci d'avance
 
Bonsoir Jexcelpo, bonsoir le forum,

Je maîtrise mal cette fonction alors j'ai jeté un coup d'œíl dans la rubrique d'aide de VBA. J'ai remarqué une anomalie et je t'en fais part sans être sûr que ce soit la solution. Il est dit dans l'aide que la constante xlWhole correspont à l'argument Lookat et toi tu l'utilises comme valeur de l'argument LookIn qui lui n'accepte (toujours d'après l'aide...) que l'une des trois constantes suivantes : xlFormulas, xlValues ou xlComments.

Peut-être cette indication t'aidera ?

J'ai trouvé aussi étrange que tu déclares la variable fin comme String. Je l'aurais plutôt déclarée comme Integer ou Long (selon le nombre de lignes maxi)...

À plus,

Robert
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
153
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
223
Réponses
4
Affichages
461
  • Question Question
Microsoft 365 modifier un code
Réponses
1
Affichages
464
Réponses
3
Affichages
665
Retour