Bonjour à tous,
Je cherche à ce qu'une cellule prenne la valeur de l'intersection entre une colonne dont le nom est déjà défini et une ligne sélectionnée par l'utilisateur grâce à un userform.
C'est simple mais je suis une quiche débutante et je n'y arrive pas même en fouillant sur les forums.
Je vous ai fait le fichier exemple
Je vous remercie
Sub selection()
On Error Resume Next
Set reponse = Application.InputBox(Prompt:="Sélectionner la ligne de l'opération ciblée", Type:=8, Default:="")
If reponse Is Nothing Then Exit Sub
[F4] = Cells(reponse.Row, 2)
' Selection(1).Row
End Sub
Merci, je vais regarder ça de plus près demain pour l'option 2.
Je comprends la logique pour l'option VBA que je privilégie mais je souhaiterais utiliser le nom de plage que j'ai défini ("bananes" qui correspond la colonne 2) car le numéro de colonne sera susceptible de bouger puisque je devrai régulièrement ajouter des colonnes par la suite au tableau.
comme ta zone "Bananes" est déjà définie. et qu'elle peut effectivement bouger dans le classeur, il te suffit de remplacer le 2 du
Code:
[F4] = Cells(reponse.Row, 2)
par
Code:
[F4] = Cells(reponse.Row, [Bananes].Column)
ce qui donne au final
Code:
Sub selection()
On Error Resume Next
Set reponse = Application.InputBox(Prompt:="Sélectionner la ligne de l'opération ciblée", Type:=8, Default:="")
If reponse Is Nothing Then Exit Sub
[F4] = Cells(reponse.Row, [Bananes].Column)
End Sub
Bonsour®
un proposition similaire à vgendron
on ne fait plus appel à des lignes ou colonnes nommées
les listes de validation sont dynamiques (noms, fruits)
- les libelles peuvent être déplacer, modifier, renommer respectivement aux entetes de tableau, sans zones vides.
les choix(listes de validation) et résultats ainsi que la formule utilisée peuvent être déplacés