Affectation macro

Bonjour,

J'ai un souci très simple mais je n'arrive pas à le résoudre. J'ai plusieurs feuilles dans mon classeur de stock. Dans chaque feuille, un bouton. lorsque je click sur le bouton, je lance le code de la feuille du bouton clické qui lui lance l'envoi d'un mail de commande de stock.

J'ai réussi à affecter à chaque bouton le code de la feuille correspondante mais pour les feuilles :

  • Imprimante agrafes
  • Imprimante toner rouge
  • Imprimante Toner d'encre usage
  • Imprimante toner jaune
  • Imprimante toner bleu
  • Imprimante toner noir

je n'y arrive plus. je créé le bouton et lorsque click droit sur le bouton en mode création pour affecter une macro, je n'ai aucune feuille du classeur qui s'affiche...je ne me rappelle tout simplement plus comment on fait. Pouvez vous me rappeler la démarche svp.

merci beaucoup,

jasserin

Bonjour jasserin, bonjour le forum,

Visiblement tes boutons sont des contrôles ActiveX. Tu doubles-clique dessus pour aller dans l'éditeur VBE ou Clic-droit / Visualiser le code...

Bonjour,

je n'arrive pas à visualiser le code. Le bouton créé par exemple dans la feuille "imprimante agrafes" est un bouton controle de formulaire référence "bouton 11". Le code sub dans la feuille "imprimante agrafes" commence par

Private Sub CommandButton11_Click()

end sub

si je click sur le bouton cela devrait me renvoyer à ce programme or message

"impossible d'exécuter la macro "stock consommable.xlsm'!Bouton11_Clic'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées"

Si je click droit sur le bouton , je n'ai pas le moyen de visualiser le code : j'ai juste "affecter une macro"

Si je click sur visualiser le code, j'ai un message d'erreur référence invalide.

pouvez vous me redéfinir pas à pas mes étapes ?

merci beaucoup,

jasserin

Bonjour à tous

j'ai créé les boutons de macro manquants sur les feuilles

Il vous reste à leurs affecter une macro. Bouton droit de la souris, affecter une macro

Cordialement

Pierrot

Bonjour,

Merci beaucoup mais cela ne réponds pas à ma question. Le problème n'est pas de créer un bouton mais d'y associer le code de la feuille concernée.

Si vous clickez dans développeur dans la feuille 46 "imprimante agrafes", vous avez Private sub commandclick11 () qui lie le bouton avec ce programme mais lorsque je click sur le bouton 11 dans la feuille, cela ne marche pas.

De mémoire (et c'est cela dont je ne me rappelle pas très bien), lorsque je souhaitais relier un bouton au code d'une feuille, je devais faire

  • "affecter une macro" au niveau du bouton
  • puis je devais choisir dans le listing des feuilles du classeur, la feuille concernée pour lier le bouton au code de la feuille.

Mais ici lorsque j'affecte une macro au bouton 11 de la feuille "imprimante agrafes", aucun listing de feuilles n'apparait..

COMMENT FAIRE POUR RELIER UN BOUTON AU CODE D'UNE FEUILLE ?

merci beaucoup,

jasserin

Je suis désolé, je ne comprend rien a votre code des différentes feuilles

personnellement, je n'utilise jamais ce genre de boutons.

je ne peux rien pour vous;

Désolé

Pierrot

Bonjour, peut-être qu'il existe dans excel une limite à un nombre de quelque chose...Par exemple, une limite du nombre de bouton dans un classeur.

A première vu, la macro a l'air d'être la même pour chaque feuille non ?

Si oui dans se cas il est peut-être plus judicieux de ne faire qu'une seule macro dans un module, et d'étudier un autre moyen de l'appeler pour chaque page

Non ?

Bonsoir,

merci pour vos réponses.

En effet pour la plupart des feuilles c'est le même code, sauf pour certaines bien sûr.

Vous pouvez m'aider ?

merci

jasserin

Je travaille dessus en se moment, j'essai de faire une macro passe-partout qu'il faudra revoir pour les détails et pour la suite, vu que je prends le sujet en cours, ont verra bien

Sub Commande()
Dim Wsname As String
Dim dl As Long
Dim i As Integer
Application.ScreenUpdating = False
Wsname = ActiveSheet.Name
dl = ActiveSheet.Range("a" & Rows.Count).End(xlUp).Row
For i = 8 To dl
If Range("e" & i).Value = "COMMANDE" And Range("F" & i).Value = "" Then
   envoimail Wsname, i 'si Ei = COMMANDE et si Fi = NO on envoie un mail
End If
Next i
Application.ScreenUpdating = True
End Sub

La macro est dans le module 3.

Maintenant ce qu'il reste à faire c'est affecter les boutons ou les formes à la macro

et également lister ceux qui vont avoir l'email 1 et l'email 2

Bonsoir,

merci de ce retour et ce principe qui doit surement amélioré le système.

Néanmoins quand vous dites que la macro est dans le module 3, comment faites vous pour affecter le module 3 au bouton, vous devez au préalable créer cette macro avec le code dedans ?

comment relier le bouton au module 3, je click droit sur le bouton et ?

jasserin

Euh en faite pour les boutons et la macro je m'en occupe, par contre je veux bien que vous me fassiez sur un classeur excel a part la liste des onglets vont vers le destinataire 1 et ceux qui vont vers le destinataire 2

Bon voilà ce que je vous propose en terme de solution que je trouve plus efficace que 40 boutons.

Vous ouvrez le classeur et vous suivez les indications de se lien

pour afficher la barre d'outil " Commande ". Elle va surement venir se foutre au milieu des cellules et il vous faudra des bons yeux pour la trouver.

Une fois trouvée, vous la glissez en haut pour la coller avec les autres barres de taches et ensuite, peu importe la page ou vous êtes, quand vous cliquerez sur le Bouton Commander de cette nouvelle barre de tache, la macro s'executera

Le procédé vous convient-il ?

bONSOIR,

pb résolu par un autre ticket dans le forum.

Pour relier un bouton à un programme Sub dans une feuille, il faut insérer un bouton active X. Il était impossible d'insérer un bouton activeX, j'ai donc regarder sur le forum. Le pb venait de la présence de fichiers .exd provenant de la dernière mise à jour Excell.

(voir ticket "impossible insérer un objet")

en supprimant ces fichiers de votre C:/, j'ai inséré un bouton active X, double clcik dessus et celui-ci vous ouvre directement la feuille dans lequel vous avez installé le bouton et vous n'avez qu'à copier le code de votre feuille à l'intérieur du sub commandbutton click().

merci pour les personnes qui ont essayé de m'aider,

bon WE,

jasserin

Bonsoir,

heureux que ton problème soit résolut

Amicalement

Pierrot

Rechercher des sujets similaires à "affectation macro"