Affecter plusieurs bouton de titres différents à une même macro VBA

Arnaud1981

XLDnaute Nouveau
Bonjour à tous,

Je cherche à affecter plusieurs boutons à une même macro dans Excel.

Je m'explique:
- j'ai plusieurs boutons auxquels j'ai donné des titres différents: "Séance tech LOURD Drive in", "Séance tech LOURD Régie MP"... etc
Je veux qu'en appuyant sur ces différents boutons, la même macro soit lancée. Jusque là pas de problème: je dois affecter chacun de mes boutons à cette macro.

- mais ce que je souhaite, c'est que ma macro reconnaisse le titre de mon bouton et agisse en fonction de ce titre.

Voici ma macro, relativement simple:

Set bd = Sheets("BD_GDD")
Set Chiffrage = Sheets("Chiffrage")
Application.Calculation = xlCalculationManual

bd.Select
Range("A3").Select
Selection.End(xlDown).Select
n = ActiveCell.Row

J = 2
For i = 4 To n

Sheets("BD_GDD").Select
Cells(i, 2).Select
If ActiveCell.Value = "Titre du bouton sur lequel j'appuie" Then

Plateau = bd.Cells(i, 1)
Etape = bd.Cells(i, 2)
Rien = bd.Cells(i, 3)
Rien2 = bd.Cells(i, 4)
IntituléGDD = bd.Cells(i, 5)
Métiers = bd.Cells(i, 6)
NbH = bd.Cells(i, 7)
PersonnelparH = bd.Cells(i, 8)
Tarif = bd.Cells(i, 9)
TotalCHF = bd.Cells(i, 10)

Chiffrage.Cells(J, 1) = Plateau
Chiffrage.Cells(J, 2) = Etape
Chiffrage.Cells(J, 3) = Rien
Chiffrage.Cells(J, 4) = Rien2
Chiffrage.Cells(J, 5) = IntituléGDD
Chiffrage.Cells(J, 6) = Métiers
Chiffrage.Cells(J, 7) = NbH
Chiffrage.Cells(J, 8) = PersonnelparH
Chiffrage.Cells(J, 9) = Tarif
Chiffrage.Cells(J, 10) = TotalCHF

J = J + 1

End If

Next i

- il faut que lorsque j'appuie sur l'un des deux boutons, ma macro reconnaisse le titre de ce bouton dans les cellules d'une base de donnée, et ainsi copie-colle dans une autre feuille du classeur selon mon code ci-dessus.

J'espère pouvoir compter sur votre aide

Merci

Arnaud
 

Pièces jointes

  • Tableau pour macro VBA.xlsx
    11 KB · Affichages: 64
  • Tableau pour macro VBA.xlsx
    11 KB · Affichages: 59
  • Tableau pour macro VBA.xlsx
    11 KB · Affichages: 59

Arnaud1981

XLDnaute Nouveau
Re : Affecter plusieurs bouton de titres différents à une même macro VBA

Merci pour ta réponse mais je ne suis pas sûr de comprendre, je vais avoir besoin de plus de précision.

J'ai l'impression que Msgbox sert à créer une boîte de texte qui apparaît lorsque la macro est lanceé

Alors qu'en fait, je veux que ma macro reconnaisse le texte du bouton sur lequel j'ai appuyé. Cela afin de mettre une condition dans ma macro qui s'applique lorsque le texte d'une cellule de ma feuille correspond au texte de mon bouton

Je joins un fichier updater pour une meilleure compréhension: le premier onglet contient les données sources et les deux boutons, le second onglet "Chiffrage" sera nourri par la macro...

Merci

Arnaud
 

Pièces jointes

  • Tableau pour macro VBA.xlsx
    12.9 KB · Affichages: 51
  • Tableau pour macro VBA.xlsx
    12.9 KB · Affichages: 62
  • Tableau pour macro VBA.xlsx
    12.9 KB · Affichages: 60

vgendron

XLDnaute Barbatruc
Re : Affecter plusieurs bouton de titres différents à une même macro VBA

Salut Arnaud, salut Jean Marcel

en fait.. le msgbox que j'avais inséré, servait juste a te montrer l'info que la commande "application.caller" récupère..
à savoir le nom du bouton. attention.. j'ai bien dit le nom..celui que VBA affecte au controle.. il ne s'agit pas du label que tu édites toi -même..
je cherchais d'ailleurs comment le récupérer.. et Jean Marcel te donne (et me donne) la réponse ;-) Merci
j'avais bien le "caption".. mais il me manquait le drawingObjects
 

Arnaud1981

XLDnaute Nouveau
Re : Affecter plusieurs bouton de titres différents à une même macro VBA

Merci à vous deux, ma macro semble fonctionner correctement.

Question subsidiaire mais que je peux contourner: j'ai des boutons sur plusieurs feuilles, savez vous si je peux transformer ce code sans être obliger de mettre tous les boutons sur la même feuille? C'est à dire en ne limitant pas l'application.caller à la feuille nommée "Prépa" dans l'exemple ci-dessous:

If ActiveCell.Value = Sheets("Prépa").DrawingObjects(Application.Caller).Caption Then


Merci beaucoup.

Arnaud
 

Arnaud1981

XLDnaute Nouveau
Re : Affecter plusieurs bouton de titres différents à une même macro VBA

Bonjour

Merci pour vos indications. Je ne suis pas parvenu à ne faire qu'un code pour les différents onglets.

Autre souci, certains boutons ne répondent pas à ma requête, alors que j'ai bien vérifié l'orthographe identique entre le nom du bouton et le nom des cellules de ma base de données.

Dans l'onglet "BD_GDD", j'ai mis en jaune les lignes qui ne veulent pas s'implémenter dans l'onglet "Chiffrage" lorsque je clique dans les boutons. (parfois c'est un onglet complet qui ne marche pas: "Sujets" et "Studio Image").
Avez vous une piste?

Le fichier était trop lourd, j'envoie donc 2 fichiers (la macro est dans le word).

Merci

Arnaud
 

Pièces jointes

  • BD pour KITS V12 pour forum.xls.xlsx
    150.2 KB · Affichages: 65
  • Macro Kits.docx
    19 KB · Affichages: 49

Discussions similaires