Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche par Find

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 !

néné06

XLDnaute Accro
Bonjour à toutes et à tous

avec les instructions suivantes, je trouve en "deb" le numéro de la ligne ou se trouve le premier "nom_recherchée".

Set Ftn = Sheets("tempe1").Range("A2:A65535").Find(nom_recherche, LookIn:=xlValues, lookat:=xlWhole)
If Not Ftn Is Nothing Then
deb = (X.Row)
End If

Je recherche le moyen de trouver, le numéro de ligne de la première valeur différente à "nom_recherche" par exemple une cellule vide ("") ou un nom différent ?

Merci à toutes et à tous!!
 
Re : Recherche par Find

Bonjour,
voici une facon de faire:
Code:
Sub numligne()
Dim c As Range
dim deb as long
 For Each c In Sheets("tempe1").Range("a2:a65000")
 If c <> nom_recherche Then GoTo ici
 Next
ici:
deb=c.Row

End Sub
🙂
A +
 
Re : Recherche par Find

Bonjour fhoest

Y a t-il un autre moyen, que d'utiliser la méthode For Each qui teste chaque cellule et ralentie la recherche ?

J'ai effectué des tests et j'ai remarqué que la methode Find étais l'une des plus rapides.

Je pensais a un code qui ne fonctionne pas dans le style:


Set Ftn = Sheets("tempe1").Range("A2:A65535").Find ( " <> nom_recherche " , LookIn:=xlValues, lookat:=xlWhole)
If Not Ftn Is Nothing Then
fin = (X.Row)
End If

Merci!!!
 
Re : Recherche par Find

Oui je suis d'accord avec toi ,mais je ne sais pas comment dire à vba de rechercher une valeur qui est différente d'une autre avec la méthode .find
et combien de temps met la macro que je t'ai donner ? es ce vraiment si lent que cela.
A bientôt
envoi un bout de fichier pour la methode find je vais essayer de trouver une parade.
 
Re : Recherche par Find

Bonjour,

De ce que je comprends, tu as en colonne 1 des noms....

Ces noms sont triés par ordre alphabétique, et en cherchant "Gaston", qui est présent sur 48 lignes, à compter de la 57 ème ligne, tu voudrais obtenir la ligne 105, soit la première différente de "Gaston"?

C'est cela?

Si oui, essaie ainsi :

Code:
Dim Lig As Long
Lig = Application.Match("Gaston", Columns(1), 0) + Application.CountIf(Columns(1), "Gaston")

Si non, un petit fichier exemple, comme le souligne Fhoest (PS, merci pour ton MP 🙂), ne serait pas de trop

Bonne journée
 
Re : Recherche par Find

Bonjour bhbd,fhoest

c'est exactement ce que je cherchais, avoir en deb le premier nom cherchés et en fin ,le numéro de ligne du nom suivant.
donc fin-deb-1 = nb de répétitions du nom.

Merci à tous!!
 
- 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

Discussions similaires

Réponses
2
Affichages
411
Réponses
5
Affichages
401
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…