Recherche VBa

  • Initiateur de la discussion Marc
  • Date de début
M

Marc

Guest
Bonjour,

J'ai une plage nommée PLAGE1 ( C1:C100). J'effectue une recherche de valeur via une boucle For each ... dans cette plage. Quelle instruction VBA me permet, dès lors que j'ai trouvé la valeur cherchée, d'aller récupérer la valeur sur la ligne correspondante dans une plage PLAGE2 (dans D1:D100)

Je cherche à utiliser le nom de la plage plutôt que l'instruction cells((i,j) (que je sais faire) car cette dernière instruction est à modifier si dans ma feuille excel, j'insère une nouvelle colonne .

Merci de votre aide
 
S

steplof

Guest
Salut à tous

Marc, si j'ai bien compris tu peux utiliser la propriété item de Range qui donne le xieme élément d'une plage

Par exemple

Sub macrotest()

ligne = 5

msgbox Range("plage2").Item(ligne).value
End Sub

te renvoie la valeur du 5e élément de ta plage2

En espérant t'avoir aidé

@+ Steplof
 
M

Marc

Guest
Bonjour et merci Steplof,

Ma boucle de lecture dans plage1 est de la forme :

For Each c In Range("plage1")
ligne=ligne+1
If c.Value = 10 Then a = Range("PLAGE2").Item(ligne).Value
Next c

j'ai mis 10 comme valeur recherchée dans plage1 (pour l'exemple)

Je récupère bien la valeur dans la plage2

encore une fois merci
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 592
Membres
111 208
dernier inscrit
estalavista