Bonjour a tous,
J’ai beaucoup cherche sur internet et ai un peu avance mais la je bloque.
J’utilise excel 2010.
Je suis ultra novice VBA, donc je c’utilise que des trucs que je trouve sur le net, je suis desole.
Donc j’ai une colonne de cases dans laquelle je veux une liste deroulante.
J’ai ultilise combobox-VBA, car cela donne beaucoup plus de souplesse (notamment en matiere de taille de caractere) que la function donnees validation-liste.
J’ai trouve sur le net un VBA tres abouti qui me faitapparaitre la liste deroulante quand je clique sur la cellule. J’ai egalement integer le fait que je veux que cette liste soit choisie dans la meme ligne que la cellule (function Application.Transpose(Range("c2:f100").Value)).
Cf exemple ci joint plus concret
Maintenant j’aimerai que a chaque ligne, la liste deroulante choisie (independamment des autres lignes) soit celle de la ligne ou on travaille:
Ex:en A3, je voudrai la liste nom1 prenom3 ddn3 fu3 et ainsi de suite en a4, a5…
Auriez vous une solution simple plutot que de repeater 250 fois le VBA pour chque cellule de cette premiere colonne? SVP
Merci de votre aide, patience et de votre indulgence pour mon inexperience VBA.
Tres cordialement
xls ci Joint
et
code:
J’ai beaucoup cherche sur internet et ai un peu avance mais la je bloque.
J’utilise excel 2010.
Je suis ultra novice VBA, donc je c’utilise que des trucs que je trouve sur le net, je suis desole.
Donc j’ai une colonne de cases dans laquelle je veux une liste deroulante.
J’ai ultilise combobox-VBA, car cela donne beaucoup plus de souplesse (notamment en matiere de taille de caractere) que la function donnees validation-liste.
J’ai trouve sur le net un VBA tres abouti qui me faitapparaitre la liste deroulante quand je clique sur la cellule. J’ai egalement integer le fait que je veux que cette liste soit choisie dans la meme ligne que la cellule (function Application.Transpose(Range("c2:f100").Value)).
Cf exemple ci joint plus concret
Maintenant j’aimerai que a chaque ligne, la liste deroulante choisie (independamment des autres lignes) soit celle de la ligne ou on travaille:
Ex:en A3, je voudrai la liste nom1 prenom3 ddn3 fu3 et ainsi de suite en a4, a5…
Auriez vous une solution simple plutot que de repeater 250 fois le VBA pour chque cellule de cette premiere colonne? SVP
Merci de votre aide, patience et de votre indulgence pour mon inexperience VBA.
Tres cordialement
xls ci Joint
et
code:
Code:
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:A100], Target) Is Nothing And Target.Count = 1 Then
Me.ComboBox1.List = Sheets("bd").Application.Transpose(Range("c2:f2").Value)
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
'If Val(Application.Version) > 10 Then SendKeys "{esc}"
'Me.ComboBox1.DropDown
Else
Me.ComboBox1.Visible = False
End If
End Sub