Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

  • Initiateur de la discussion Initiateur de la discussion Diyann
  • 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 !

D

Diyann

Guest
Bonjour à tous,

Est-ce qu'il est possible en VBA, de chercher du texte dans une plage donnée et obtenir le numéro de ligne (et éventuellement le n° de colonne, mais je peux faire sans) ?

Le texte à chercher est soit absent, soit présent une et unique fois dans la plage donnée....

Méthode Find ? Mais elle ne renvoie que "vrai" ou faux"...

Merci de vos lumières !
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Si il y a plusieurs fois le même texte, je prends l'utilisateur entre 4 yeux et je lui demande si il sait lire ou si il me cherche ! Parce que là faut que je finisse mon boulot et j'ai clairement pas le temps de mettre une macro qui contrôlerait ça.

Je mettrais une Nota Bene à l'attention du prochain stagiaire ;-)

Oui, si c'est le cas, ça devrait être uniquement le premier et ignorer les autres.
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Find, méthode
Voir aussiS'applique àExempleDétailsMéthode Find telle qu'elle s'applique à l'objet WorksheetFunction.

Cette méthode recherche des informations spécifiques dans une feuille de calcul.

expression.Find(Arg1, Arg2, Arg3)
expression Obligatoire. Expression qui renvoie un objet WorksheetFunction.

Arg1 Argument de type String obligatoire. Nom de la feuille de calcul.

Arg2 Argument de type String obligatoire. Nom de la plage.

Arg3 Argument de type Variant facultatif. Nom d'un argument permettant d'affiner la recherche.

Méthode Find telle qu'elle s'applique à l'objet Range.

Cette méthode recherche une information spécifique dans une plage et renvoie un objet Range qui représente la première cellule où cette information apparaît. Cette méthode renvoie la valeur Nothing si l'information n'est pas trouvée. N'affecte ni la sélection ni la cellule active.

Find retourn un range
Sur lequel tu peux demander
.row
.column
.address
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Merci Habitude !
Mais t'as fait un copier-coller de ton Aide là ? Parce que moi j'ai pas du tout ça dans mon Aide (version 2007)...
Je dois m'inquiéter de soucis de compatibilité ?
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Bonjour à tous,

un exemple de "find", compatible 2007, la recherche s'effectue sur la feuille active....

Code:
Sub test()
Dim x As Range
Set x = Range("A1:A10").Find("texte recherché", , xlValues, xlWhole, , , False)
If Not x Is Nothing Then
    MsgBox x.Row
    MsgBox x.Column
End If
End Sub

bonne journée
@+
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Bonjour Pierrot,

Merci pour ce complément d'information.
Toutefois....il ne trouve pas l'information que je cherche 😕
Dim Nom_Lot_traite As Variant
Nom_Lot_traite = Worksheets("Saisie").Range("C" & 42 + NoLot_traite).Value
Set Lot_traite_paturant_1_yes_no = Range("D121: D" & NbParcelles + 120).Find(Nom_Lot_traite, , xlValues, xlWhole, , , False)
If Lot_traite_paturant_1_yes_no Is Nothing Then
...la suite

J'ai essayé sans les arguments facultatifs, avec les arguments, avec les arguments écrits comme ci-dessus, avec les arguments écrits à l'ancienne comme ci-dessous :
Set Lot_traite_paturant_1_yes_no = Range("D121: D" & NbParcelles + 120).Find(What:= Nom_Lot_traite, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns)

Quoique je fasse , il me renvoie un nothing (sauf une miraculeuse fois où j'ai pu poursuivre le debogage) alors que le texte que je cherche est bel et bien présent...zut quoi...L'aide est d'une inutilité consternante, l'exemple pas très illustratif...
Comment on dit déjà...euh...HELP ! please help....
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Bonsoir Diyann, jojo

il nous faudrait un peu plus d'infos, type de donnée recherchée et que contient tes cellules... un petit fichier représentant uniquement le problème posé serait bien...

bonne soirée
@+
 
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Re bonjour à tous,

Bon, en construisant un exemple simple ça fonctionne...

J'ai du faire beaucoup de simplifications dans les noms des variables, je suppose donc que mon problème vient de là......

Je vais tâcher de chercher.

Dans ma méthode Find (et contrairement à celle de mon exemple), le texte que je recherche est issu d'un choix de l'utilisateur dans un menu déroulant : est-ce que ça change quelque chose à la manière dont je dois écrire la formule et ses arguments ?
 

Pièces jointes

Dernière modification par un modérateur:
Re : Chercher 1 valeur ds 1 plage et renvoyer le n° de ligne

Bonsoir à tous,

J'ai fermé mon fichier, je suis allée me coucher, je l'ai rouvert le lendemain et cela marchait....😕
J'ai fait de nombreux essais depuis et cela continue de marcher...

Eh bien soit.... Qu'il en soit ainsi, Alleluia Dieu du binaire...

Merci quand même Pierrot93 !
 
- 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
6
Affichages
364
Retour