Bonjour,
je souhaite utiliser le nom d'une colonne pour trouver une valeur:
J'ai une colonne H avec comme nom "Prix" (pour des questions de déplacement), je souhaite récupéré la valeur de la ligne 3.
du style a = Range("Prix"+"3").value
Merci d'avance
J'ai essayer de poster la même demande ce matin mais je ne la trouve plus (désolé si redondance)
Sub Test()
Dim c As Range, a
'Set c = Cells.Find("Prix", , xlValues) 'recherche globale
Set c = [1:1].Find("Prix", , xlValues) 'recherche en ligne 1
If Not c Is Nothing Then
a = c(4) '3 lignes après "Prix"
MsgBox a 'pour tester
End If
End Sub
Tu peux aussi définir un nom prix dans ton classeur, soit avec la formule decaler, soit et de préférence en mettant tes données sous forme d'un tableau excel (onglet accueil/style/mettre sous forme de tableau). Tu sélectionnes la colonne prix de ce tableau et dans l'onglet formules tu la nommes avec définir un nom. Ce nom est dynamique et s'adapte à tes données. Tu peux y faire référence en VBA
Il y a une ambiguïté dans le question : la colonne est-elle seulement intitulée Prix ou également nommée ?
Fait-elle partie d'une plage ou d'un tableau (au sens 2007 et suivantes) ?
Il y a plusieurs solutions selon les cas... d'où l'intérêt de la précision.
Edit : bing ! collision avec Misange sur les mêmes idées !