Code vba sur un bouton

Signaler
Messages postés
2085
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
28 octobre 2020
-
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
-
Bonjour,
J'aimerais savoir s'il est possible d'affecter un code Private Sub à un bouton ActivX afin que l'opération soit valider par ce bouton .
Merci pour votre aide
Crdlt



Configuration: Windows / Firefox 72.0

2 réponses

Messages postés
8214
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 octobre 2020
1 498
Bonjour,

Tu dessines ton bouton puis tu double cliques dessus, la procédure sur l'évènement Click est créée automatiquement soit dans le module de la Feuille correspondante, soit dans le module de l'userform (selon le cas)
Messages postés
2085
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
28 octobre 2020
343
Bonjour Patrice
Merci pour ton aide
Cette procédure je sais faire quand il y a une macro
Mais avec un code du genre

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Derligne As Long


c'est là ou ça se complique
Crdlt
Messages postés
8214
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 octobre 2020
1 498 >
Messages postés
2085
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
28 octobre 2020

Développes, c'est quoi la difficulté ?

Exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 2 Then
    Call MaMacro
  End If
End Sub
Private Sub CommandButton1_Click()
  Call MaMacro
End Sub
Private Sub MaMacro()
  MsgBox "Bonjour JCB40"
End Sub
Messages postés
2085
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
28 octobre 2020
343 >
Messages postés
8214
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 octobre 2020

Exemple avec ce code comment le déclencher avec un bouton
Crdlt

Private Sub Worksheet_Change(ByVal c As Range)
If Range("A1") > 2 Then Exit Sub
If Range("A1") <> "" And Range("A1") = "1" Or Range("A1") = "2" Then
If Range("A1") = "1" Then Range("A1") = "Hospi"
Range("A1").Select
If Range("A1") = "2" Then Range("A1") = "Med"
End If
Messages postés
8214
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
28 octobre 2020
1 498 >
Messages postés
2085
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
28 octobre 2020

Exactement pareil que ce que je t'ai déjà écrit !

c-à-d :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Call MaMacro
End Sub
Private Sub CommandButton1_Click()
  Call MaMacro
End Sub
Private Sub MaMacro()
  If Range("A1") > 2 Then Exit Sub
  If Range("A1") <> "" And Range("A1") = "1" Or Range("A1") = "2" Then
    If Range("A1") = "1" Then Range("A1") = "Hospi"
    Range("A1").Select
    If Range("A1") = "2" Then Range("A1") = "Med" 
  End If
End Sub
Messages postés
12828
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 octobre 2020
716
bonjour, la solution proposée te convient-elle?