Création d'un bouton en boucle
Résolu
siamens_duj
Messages postés
192
Date d'inscription
Statut
Membre
Dernière intervention
-
diablo13800 Messages postés 2890 Date d'inscription Statut Membre Dernière intervention -
diablo13800 Messages postés 2890 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en VBA et je suis bloqué sur un petit problème :
J'aimerais faire un code pour dire " Tant que la case D1, D2, D3 ... n'est PAS vide, créer un bouton" .
Je veux placer ces boutons à côté des cases D qui ne sont pas vide.
Normalement ce code, je pense aurait du le faire mais j'ai du commettre une erreur car cela ne fonctionne pas.
Merci pour votre aide.
Je débute en VBA et je suis bloqué sur un petit problème :
J'aimerais faire un code pour dire " Tant que la case D1, D2, D3 ... n'est PAS vide, créer un bouton" .
Je veux placer ces boutons à côté des cases D qui ne sont pas vide.
Normalement ce code, je pense aurait du le faire mais j'ai du commettre une erreur car cela ne fonctionne pas.
Private Sub CommandButton3_Click()
Do While Range("D").Value <> " "
Sub Macro()
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=370.5, Top:=114.75, Width:=72, Height:= _
24).Select
Selection.ShapeRange.IncrementLeft -39#
Selection.ShapeRange.IncrementTop -11.25
End Sub
End Sub
Merci pour votre aide.
A voir également:
- Création d'un bouton en boucle
- Creation compte gmail - Guide
- Création site web - Guide
- Création d'un compte google - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Bouton reinitialisation pc - Guide
3 réponses
Test avec ceci Ça peut marcher
ThisWorkbook.Activesheet("Feuil1").Range(D1;D900)
i=1
do While i<900
if thisWorkbook.activesheet("Feuil1").Cells(i;4).Value <> ""
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=370.5, Top:=114.75, Width:=72, Height:= _
24).Select
Selection.ShapeRange.IncrementLeft -39#
Selection.ShapeRange.IncrementTop -11.25
i=i+1
Else
End Sub
End If
Loop
End Sub
Bonjour,
Je pense que tu dois mettre ta boucle dans la macro et non à l'extérieur
Essaie comme ça ( n'oublie pas le ctrl+ pause dans le cas ou ça boucle a l'infinie )
Je pense que tu dois mettre ta boucle dans la macro et non à l'extérieur
Private Sub CommandButton3_Click()
Do While Range("D").Value <> " "
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=370.5, Top:=114.75, Width:=72, Height:= _
24).Select
Selection.ShapeRange.IncrementLeft -39#
Selection.ShapeRange.IncrementTop -11.25
Loop
End Sub
Essaie comme ça ( n'oublie pas le ctrl+ pause dans le cas ou ça boucle a l'infinie )
Merci pout cette réponse rapide !
comme ça ? :
Là il me dit "Do sans boucle"
comme ça ? :
Private Sub CommandButton3_Click()
Do While Range("D").Value <> " "
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=370.5, Top:=114.75, Width:=72, Height:= _
24).Select
Selection.ShapeRange.IncrementLeft -39#
Selection.ShapeRange.IncrementTop -11.25
End Sub
Là il me dit "Do sans boucle"
Sauriez vous pourquoi ?
N'oublie pas de rajouter un : Selection.OnAction = "Nom_De_La_Macro_A_Affecter" Si tu veux définir une action au clic des bouton:) et a supprimer le MsgBox qui indique la fin de la macro