Chercher une valeur dans une colonne er renvoyer le numero de la ligne

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

diego3110

XLDnaute Junior
Bonjour le forum,

J'arrive à faire ce qui est inscrit dans mon titre:

Exemple : je recherche la valeur "Forum" dans une colonne et cela me donne la ligne sur laquelle se trouve cette valeur.

Mot= "Forum"
Workbooks.Open Filename:=mon classeur

L = Columns("A").Find(MOT, LookIn:=xlValues, LookAt:=xlPart).Row

Mon pb est que si ce mot est présent cela me renvoie bien le numero de ligne mais si ce mot n'est pas présent cela BUG : "erreur d'execution '91 Variable objet ou variable bloc with non définie" alors que je voudrais que l'on me renvoie la valeur 0 ou vide.

Quelqu'un aurait une idée?

Merci d'avance
A+
 
Re : Chercher une valeur dans une colonne er renvoyer le numero de la ligne

Bonjour,
Pour la méthode Find, j'aime bien personnellement chercher le Range qui contient la valeur. Comme ceci :
Code:
Dim Trouve As Range
Dim Valeur_Cherchee As String
Set Trouve = Columns(1).Find(Valeur_Cherchee , LookIn:=xlValues, LookAt:=xlPart)
If Trouve Is Nothing Then
    MsgBox "Ah zut, je n'ai pas trouvé la valeur : " & Valeur_Cherchee
Else
    MsgBox "Valeur trouvée à la ligne : " & Trouve.row
End If
Set Trouve = Nothing
Tu dis...
 
Dernière édition:
Re : Chercher une valeur dans une colonne er renvoyer le numero de la ligne

Bonjour pijaku,

Merci . Ta solution est bien mais ne correspond pas tout à fait à ma problématique. De plus même en copiant ta solution cela me renvoie la même erreur si la donnée n'existe pas.

Est il possible sans ecrire de Msgbox (je me sert de la valeur "trouve" pour ensuite copier des données sur la ligne trouvée) d'arriver à ce que cela ne bug pas si il ne trouve pas la valeur ?
Si il ne trouve pas de valeur (si valeur = nothing ou vide ou 0 alors copie les données sur la premiere ligne vide).

Merci
a+
 
Re : Chercher une valeur dans une colonne er renvoyer le numero de la ligne

Dans le code donné plus haut, suffit de changer le message d'erreur, en y mettant la valeur que tu souhaites pour ta variable Ligne :
Code:
Dim Trouve As Range
Dim Valeur_Cherchee As String
Dim MaLigne As Long

Set Trouve = Columns(1).Find(Valeur_Cherchee , LookIn:=xlValues, LookAt:=xlPart)
If Trouve Is Nothing Then
    'MsgBox "Ah zut, je n'ai pas trouvé la valeur : " & Valeur_Cherchee
    MaLigne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1
Else
    MaLigne = Trouve.row
End If
Set Trouve = Nothing
Cells(MaLigne, 1).Select 'même si on évite un maximum les Select.....
 
Re : Chercher une valeur dans une colonne er renvoyer le numero de la ligne

re ,

Merci pour ton aide pijaku.

En fait, j'ai juste ecrit : On Error Resume Next
qui me permet de sauter le message d'erreur et d'avoir ma valeur à 0.

Merci encore pour ton aide

a+
 
- 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

Retour