Chercher plusieurs variable (Macro)

Bonjour,

Mon but de ma macro est d'importer un fichier dans l'onglet "Report" jusque là pas de problème.

Dans ma feuille principale "Accueil" je voudrais afficher un résultat de recherche

Je cherche une donnée précise "L07DAS1S" qui se trouve dans l'onglet "Report" en colonne A

Si il ne trouve pas je voudrais qu'il recherche une autre donnée "N05VASGS" toujours dans l'onglet "Report" en colonne A

Et si il ne trouve toujours pas il passe a une autre donnée "FG5VHSTS" , il y a 4 données possible

Et si il trouve il m'affiche la valeur de la colonne 11 de la ligne trouvée

J'arrive a faire comme ceci pour une valeur de recherche

Set P1 = Worksheets("Report").Range("A:A").Find(Sheets("Options").Range("D10").Value)
result= P1.Row
Worksheets("Accueil").Range("H6").Value = Worksheets("Report").Cells(result, 11).Value

Comment puis je faire pour qu'il passe a d'autres recherche si il ne trouve pas le première ?

Faut il faire une boucle si oui comment le demander de chercher la valeur suivante ?

Merci beaucoup pour votre aide

Bonsoir,

de mon coté j'imagine un truc comme ça :

Un tableau VBA qui comporte les 4 valeurs à chercher dans l'ordre de recherche : Tablo = Array("L07DAS1S","N05VASGS","FG5VHSTS","LouReeD") (vu que je n'ai pas la quatrième donnée ! )
ensuite une boucle avec "I" qui va de 0 à 3, et dans votre code vous remplacez la valeur cherchée avec Tablo(I)

Si la recherche est positive alors vous faite un "Exit For" pour sortir de la boucle sinon vous laissez tourner.

@ bientôt

LouReeD

Merci j'avais bien pensé à "Array" mais je me suis dit "mieux vaut demander conseil"

Je vais voir demain pour me programmer ça

Encore merci :)

Bonjour,

J'ai réussi avec les Array seulement il me fait une erreur.(voir capture d’écran)

Je peux l’éviter en faisant un "On Error Resume Next" mais je voudrais savoir pourquoi cette erreur .

     If NbrColonne = 4 Then  
        Set P4 = Worksheets("Report").Range("A:A").Find(THG(NbrLigne)): To1 = P4.Row
        If Worksheets("Report").Cells(To1, 11).Value <> "" Then
        Worksheets("Accueil").Range("H11").Value = Worksheets("Report").Cells(To1, 11).Value
        End If
     End If

Il m'indique l'erreur sur cette ligne .

To1 = P4.Row

Merci pour votre aide.

capture

Bonjour Jefekoi, LouReed, le forum,

Peut-être as-tu une erreur car il ne trouve pas P4 ?

A tester:

If NbrColonne = 4 Then
        Set P4 = Worksheets("Report").Range("A:A").Find(THG(NbrLigne))
         If Not P4 Is Nothing Then
          To1 = P4.Row
          If Worksheets("Report").Cells(To1, 11).Value <> "" Then Worksheets("Accueil").Range("H11").Value = Worksheets("Report").Cells(To1, 11).Value
          Exit For
         End If
End If

Cordialement,

bonjour,

Effectivement avec ta solution ça marche

Merci :)

Re,

Merci pour ton retour,

Effectivement avec ta solution ça marche

Je n'ai fais qu'appliquer les conseils de LouReed,

Bonne continuation,

Cordialement,

LouReeD en rose ?!
moi c'est violet !
Et sinon merci pour le petit mot ! En effet je n'ai pas prévenu d'une recherche = à rien !

@ bientôt

LouReeD

Rechercher des sujets similaires à "chercher variable macro"