Generation automatique de combobox en VBA

  • Initiateur de la discussion Initiateur de la discussion Grek
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

Grek

Guest
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
 
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
 
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é
 
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,
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
Réponses
4
Affichages
2 K
C
F
Réponses
5
Affichages
2 K
Fariri
F
C
Réponses
1
Affichages
4 K
Conrad13
C
Z
Réponses
25
Affichages
2 K
C
Réponses
9
Affichages
3 K
Cedric_C
C
W
Réponses
1
Affichages
962
willou
W
H
Réponses
6
Affichages
4 K
Helios67
H
J
Réponses
0
Affichages
1 K
Jojolapin
J
Retour