Problème dans utilisant la fonction Find

arnaud_garou

XLDnaute Nouveau
Bonjour,

Petit soucis concernant une macro qui devrait rechercher dans deux colonnes que je spécifie, mais qui parfois "sort" de ces deux colonnes...

Voici le code :
Private Sub MacroSearch()

With ActiveSheet.Range("E1:G65536")

If .Find(What:=ChampRecherche, LookIn:=xlValues) Is Nothing Then MsgBox "Pas trouvé" Else .Find(What:=ChampRecherche, LookIn:=xlValues).Activate

End With

End Sub


Comment puis-je limiter ma recherche aux colonnes E et G, ce qui pour l'instant n'est pas le cas?

Merci beaucoup si quelqu'un peut me tirer de là!
 

Spitnolan08

XLDnaute Barbatruc
Re : Problème dans utilisant la fonction Find

Bonsoir,

Le code que tu fournis limite bien la recherche aux colonnes E à G.
Qu'est ce qui te fait dire le contraire ?

Quelles valeurs peut contenir ChampRecherche ?

Cordialement
 
Dernière édition:

Spitnolan08

XLDnaute Barbatruc
Re : Problème dans utilisant la fonction Find

Re,

bhbh a raison...
Il n'y a pas écrit "E à G" mais "E et G"...
Et dire que je suis en train de me farcir des dizaines de questions de logique pour mon fils où tous les mots comptent...:cool: Un "à" lu à la place d'un "Et" et la réponse est fausse...:eek:

Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Problème dans utilisant la fonction Find

Bonsoir à tous


Une question en passant
Ici on traite l'intégralité des colonnes
With ActiveSheet.Range("E:E,G:G")


Quelle la syntaxe correcte pour traiter les colonnes
mais de la 1àre cellule à dernière cellule non vide?

With ActiveSheet.Range("E1:E" & [E65536].End(xlUP).Row),"G1:G" & [G65536].End(xlUp).Row)

ne fonctionnant évidemment pas
 

jp14

XLDnaute Barbatruc
Re : Problème dans utilisant la fonction Find

Bonsoir le fil

Pour traiter les deux colonnes il faut définir la plage "E1: D x "

x étant la dernière cellule dans l'une ou l'autre des deux colonnes.
Si les colonnes ne sont pas identiques on peut utiliser
x = Sheets("Feuil1").Cells.SpecialCells(xlCellTypeLastCell).Row
ce qui donnera la dernière ligne de la feuille

JP
 

arnaud_garou

XLDnaute Nouveau
Re : Problème dans utilisant la fonction Find

Merci beaucoup pour les suggestions.
Malheureusement ma recherche "sort" toujours des colonnes E et G, même avec le bout de code modifié :
With ActiveSheet.Range("E:E,G:G")

Je m'explique : Lorsque par exemple le ChampRecherche (vient d'un userform) contient la valeur "capital", ma macro va pointer la première cellule contenant "capital" dans les colonnes E et G. Mais lorsque j'utilise le bouton Suivant de mon Userform, il peut arriver que des cases hors colonnes E et G soient sélectionnées, si elles contiennent le mot "capital".

Code de mon bouton Suivant :
Private Sub ButtonSuivant_Click()

With ActiveSheet.Range("E:E,G:G")
Cells.FindNext(After:=ActiveCell).Activate
End With

End Sub​

J'espère avoir mieux explicité le problème, et serais très reconnaissant de voir vos suggestions pour le régler.

Merci!!
 

Discussions similaires

Réponses
2
Affichages
317

Statistiques des forums

Discussions
314 950
Messages
2 114 690
Membres
112 217
dernier inscrit
Elouan13