Generation automatique de combobox en VBA

Grek

XLDnaute Nouveau
Bonjour,

Je cherche a créer une combo box à droite de chaque cellule non vide d'une plage de données , cette combo box devant contenir à chaque fois 3 choix : "ok," "not ok", "to investigate".
Je ne peux pas mettre les combobox en "fixe" car les cellules non vides ne se trouveront pas tjr au même endroit

Bref j avais en tête qq chose comme ça :

Range("A10").Select
Do Until activeCell.Value = "END"
Activecell.Offset(1,0).Activate
If ActiveCell.Value <> "" then
Activecell.Offset(0,1).Value = **** le code pour créer ma combo box****
End if
Loop

Quelqu'un aurait il une idée sur comment faire ça ?
Merci d avance,

Gregory
 

G.David

XLDnaute Impliqué
Re : Generation automatique de combobox en VBA

essaies ça
Code:
Sub Macro1()
'
' auto liste
Dim plage As Range
d = Range("b65535").End(xlUp).Row
Set plage = Range("b3:b" & d)
For Each cel In plage
If cel.Value = "" Then
cel.Select
    With Selection.Validation
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=choix"
    End With
   End If
   Next
   End Sub
ça met tes cellules en liste de validation les trois choix devant etre dans une zone nommée de la feuille
Cordialement
G.David
 

Jacques87

XLDnaute Accro
Re : Generation automatique de combobox en VBA

Bonjour,

Voici une idée

Code:
    Activecell.Offset(0,1).Value 
    ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Left:=121.5, Top:=37.5, Width:=57.75, Height:= 13.5).Select

Mais, petit problème , il faudra à chaqe fois déterminer les valeurs des paramètres Left, Top qui varieront en fonction de la cellule

Bon courage

Oups david, je n'avais pas actualisé
 

Grek

XLDnaute Nouveau
Re : Generation automatique de combobox en VBA

Merci pour votre aide.

J ai modifié un peu le codepour repondre à mes attentes.

Le voici

Code:
Dim plage As Range
d = Range("b65535").End(xlUp).Row
Set plage = Range("b3:b" & d)
For Each cel In plage
If cel.Value <> "" Then
cel.Offset(0, 1).Select
    With Selection.Validation
           .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="OK, NOT OK, TO INVESTIGATE"
    End With
   End If
   Next
 
   
End Sub

Cependant le code bug sur cette partie la je pense : Formula1:="OK, NOT OK, TO INVESTIGATE"

Y a t il une erreur de syntaxe ou autre ?

merci,
 

G.David

XLDnaute Impliqué
Re : Generation automatique de combobox en VBA

le code te sers a faire une liste de validation ta modif entre une valeur dans la cellule
tu nomes en feuille 2 si tu veut une plage avec tes choix à l'interieur et tu colles ce nom dans la procedures
G.David
 

Discussions similaires

Statistiques des forums

Discussions
312 453
Messages
2 088 551
Membres
103 881
dernier inscrit
malbousquet