Probleme avec Range.find
Résolu/Fermé
mod77
Messages postés
1276
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
-
30 juin 2017 à 17:57
mod77 Messages postés 1276 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 28 mars 2021 - 1 juil. 2017 à 18:02
mod77 Messages postés 1276 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 28 mars 2021 - 1 juil. 2017 à 18:02
A voir également:
- Probleme avec Range.find
- Range.find vba - Astuces et Solutions
- Range.find ✓ - Forum VB / VBA
3 réponses
yg_be
Messages postés
21304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
30 juin 2017 à 18:35
30 juin 2017 à 18:35
bonjour, peut-être ainsi:
Set adr = wsh.Range("B5:B" & CStr(finlg + 5)).Find(numcarte, "B5", xlValues, xlWhole, xlByRows, xlNext)
mod77
Messages postés
1276
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
53
1 juil. 2017 à 12:40
1 juil. 2017 à 12:40
J'ai encore un problème bizarre :
Range.find me renvoie "adr" égale la valeur de "numcarte".
Mais lorsque j'écris :
Ce qui m'intéresse, c'est d'avoir uniquement son numéro de ligne.
mais en écrivant
Que faire alors? ...
Set adr = wsh.Range("B5:B" & CStr(finlg + 5)).Find(numcarte, wsh.Range("B6"), xlValues, xlWhole, xlByColumns, xlNext)
Range.find me renvoie "adr" égale la valeur de "numcarte".
Mais lorsque j'écris :
MsgBox adr.Addresslà, j'ai l'adresse où "numcarte" est trouvée.
Ce qui m'intéresse, c'est d'avoir uniquement son numéro de ligne.
mais en écrivant
adr.Rowsj'ai de nouveau la valeur de "numcarte".
Que faire alors? ...
mod77
Messages postés
1276
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
53
1 juil. 2017 à 13:26
1 juil. 2017 à 13:26
j'ai réussi à avoir ce que je veux avec ça, à la suite:
Mais ça m'a l'air un peu abracadabrantesque,non?!
Est-ce qu'il y a mieux?
If Not adr Is Nothing Then
localise = Range(adr.Address(0, 0)).Activate
localise = ActiveCell.Row
Mais ça m'a l'air un peu abracadabrantesque,non?!
Est-ce qu'il y a mieux?
yg_be
Messages postés
21304
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
1 juil. 2017 à 13:27
1 juil. 2017 à 13:27
je suggère
adr.Row
mod77
Messages postés
1276
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
53
1 juil. 2017 à 18:02
1 juil. 2017 à 18:02
super yg_be!
effectivement, c'est court et efficace!
merci de votre aide à vous 2.
effectivement, c'est court et efficace!
merci de votre aide à vous 2.
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
Modifié le 1 juil. 2017 à 17:28
Modifié le 1 juil. 2017 à 17:28
Bonnjour
tu peux avoir directement la ligne sans passer par une cellule
reste à voir la gestion d'une erreur (numcarte inconnu)
Michel
tu peux avoir directement la ligne sans passer par une cellule
with Wsh
Ligne=.Range("B5:B" & CStr(finlg + 5)).Find(what:=numcarte, after:=.Range("B5"),lookat:=xlWhole).Row
end with
reste à voir la gestion d'une erreur (numcarte inconnu)
Michel
mod77
Messages postés
1276
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
28 mars 2021
53
1 juil. 2017 à 17:59
1 juil. 2017 à 17:59
bonjour michel_m,
non ça, ça ne marche pas je l'ai indiqué plus haut
non ça, ça ne marche pas je l'ai indiqué plus haut
30 juin 2017 à 22:01
malheureusement ça ne change rien :-(
1 juil. 2017 à 00:03
Set adr = wsh.Range("B5:B" & CStr(finlg + 5)).Find(numcarte, wsh.Range("B5") , xlValues, xlWhole, xlByRows, xlNext)1 juil. 2017 à 00:14
j'ai même essayé ça:
1 juil. 2017 à 00:17
1 juil. 2017 à 00:20