Incrementer une combobox

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 integre 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’aimerais que a chaque ligne, la liste deroulante choisie (independamment des autres lignes) soit celle de la ligne oü on travaille:

Ex: en A3, je voudrai la liste nom1 prenom3 ddn3 fu3 (situes dans les cellules c a f de la ligne 3 [c3:f3]) et ainsi de suite en a4, a5…

Auriez vous une solution simple plutot que de repeter 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:

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

Bonjour,

réponse un peu tardive, non ?

Dans votre code remplacez :

Me.ComboBox1.List = Sheets("bd").Application.Transpose(Range("c2:f2).Value)

par :

Me.ComboBox1.List = Sheets("bd").Application.Transpose(Range("c" & Target.Row & ":f" & Target.Row).Value)

En fait il suffit de connaître la ligne où le clic s'est fait, et pour connaître ce numéro de ligne il suffit "d'interroger" le Row (ligne) de la cellule cliquée dont l'adresse est Target.

@ bientôt

LouReeD

merci toutes ces reponses marchen effectivement.

Un Grand merci a Excel pratique!!!

Et bien ravis que cela vous plaise

@ bientôt

LouReeD

Rechercher des sujets similaires à "incrementer combobox"