Re : Macro
RE,
Très simple en fait
Au lieu d'une image, vous pouvez utiliser un bouton.
Cliquez sur Affichage / barres d'outils / puis cochez "Commandes" pour afficher la barre d'outils correspondante.
Dans cette barre d'outils, sélectionnez le bouton. Le pointeur de la souris se transforme en croix et vous permet de dessiner la forme du bouton sur la page Excel.
Reste à lui affecter une macro :
Double cliquez sur le bouton, vous arrivez dans la page de code associée à la page contenant votre bouton. Le squelette de la macro associée au bouton est déjà inscrit :
Private Sub CommandButton1_Click()
End Sub
Il suffit d'y ajouter les instructions souhaitées, par exemple :
Private Sub CommandButton1_Click()
MsgBox "bonjour"
End Sub
Le message "bonjour" est associé au bouton.
Reste encore à désactiver le mode "création" en cliquant sur l'icone en forme d'équerre de la barre d'outils "Commandes".
Remarque :
ma macro, qui fonctionne correctement quand elle est lancée directement, ne fonctionne plus quand elle est lancée par un bouton !
Si les lignes VBA qui doivent être lancées par clic sur le bouton nécessitent la manipulation de cellules Excel, on peut rencontrer une erreur. Par exemple, si vous essayez de lancer la copie de A1 en B3 par action sur le bouton :
Private Sub CommandButton1_Click()
Range("A1").Copy Range("B3")
End Sub
...vous aurez une erreur "La méthode Copy de la classe Range a échoué"
Alors que la macro suivante lancée manuellement se déroule sans problème :
Sub copie()
Range("A1").Copy Range("B3")
End Sub
L'explication vient du fait que après le clic sur le bouton, ce dernier reste sélectionné et la macro ne peut plus accéder aux cellules de la page Excel.
Une solution simple consiste à sélectionner une cellule au début de la macro (le bouton perd ainsi le focus) :
Private Sub CommandButton1_Click()
Cells(1).Select
Range("A1").Copy Range("B3")
End Sub
Si le fait de modifier la cellule active est gênant, vous pouvez aussi modifier les propriétés du bouton pour lui interdire de prendre le focus :
En mode création, double cliquez sur le bouton pour accéder au code associé au bouton.
Affichage / Fenetre Propriétés permet d'afficher (si ce n'est déjà fait) les propriétés du bouton.
Il suffit de passer à False la propriété TakeFocusOnClick du bouton.
Source: Voir
ici pour plus d'info, de précision, de détail...
Au plaisir de te lire,
VB_T