[Résolu] 1 seule macro pour tous les Shapes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum,

[ Problème résolu:
j'ai beaucoup de mal à inserer un lien de retour(Nom : Accueil) , ici la feuille Liste_Collaborateurs, sur chaque nouvelles feuilles créées(en P1 par ex.) ]


Ensuite, est-il possible de créer une seule macro (menu contextuel) contenu dans les shapes; en sachant que chaque feuille et chaque shape on un nom différent.


Merci infiniment.
 

Pièces jointes

Dernière édition:
Re : Inserer un lien hypert. dans chaque nouv. feuille+1 seule macro pour tous les Sh

Rebonjour,

mon problème de lien hypertexte est résolu grâce au code du Maître Pierrot93, ici:
inserer-un-lien-hypertexte-dans-tout-les-onglets...


Personne a une idée pour mon second problème?



A+ 😎
 

Pièces jointes

Dernière édition:
Re : 1 seule macro pour tous les Shapes

Bonjour Papou-net,

désolé pour le retard.

D'après ce que je viens de voir, il faut quand même créer une sub pour chaque collaborateurs?
Et pour la suppression, il faut créer une sub idem?


Merci pour ta collaboration.


A+ 😎
 
Dernière édition:
Re : 1 seule macro pour tous les Shapes

D'après ce que je viens de voir, il faut quand même créer une sub pour chaque collaborateurs?
Et pour la suppression, il faut créer une sub idem?

RE Lone-wolf,

Et oui, il faut une Sub pour chaque collaborateur, mais elle est réduite à son strict minimum. On pourrait éviter cela en créant un module de classe mais, si je sais que c'est faisable avec des contrôles dans des UserForms, je ne sais pas si on peut le faire avec ce type de menu contextuel.

Quant à la suppression, je n'avais pas compris le but : je pensais qu'il fallait effacer la feuille correspondante, et non le bouton. Mais voilà qui est corrigé sur cette version et tu remarqueras qu'il n'est pas nécessaire d'écrire une procédure pour chaque nom.

Cordialement.
 

Pièces jointes

Re : 1 seule macro pour tous les Shapes

Bonsoir,

Voir PJ

Code:
Sub LaMacro()
  nomShape = Application.Caller
  Dim CB1 As CommandBar
  Dim c, D As CommandBarButton
  On Error Resume Next
  CommandBars("Menu1").Delete
  On Error GoTo 0
  Set CB1 = CommandBars.Add(Name:="Menu1", Position:=msoBarPopup, temporary:=True)
  With CB1
   Set c = .Controls.Add(Type:=msoControlButton)
   With c
    .OnAction = "'Supp """ & nomShape & """'"
    .FaceId = 3265
    .Caption = "Effacer le nom"
  End With
  Set D = .Controls.Add(Type:=msoControlButton)
  With D
    .OnAction = "'entrer """ & nomShape & """'"
    .FaceId = 607
    .Caption = "Fiche de l'employé"
  End With
  .ShowPopup
End With
End Sub

Sub supp(p)
'Efface la forme et la feuille de la personne
 Application.DisplayAlerts = False
 Sheets("Liste_Collaborateurs").Shapes(p).Delete
 Sheets(p).Delete
End Sub

Sub entrer(p)
'Sélectionne la feuille qui s'appelle comme ma shape cliquée
Sheets(p).Select
End Sub

JB
 

Pièces jointes

Re : 1 seule macro pour tous les Shapes

Bonsoir Papou-net,

pour les Sub: pas de problème, je comprends.

Pour les suppressions: normalement elles doivent supprimer la shape et la feuille correspondante.
Mais je vais essaier de corrigé le code.


Encore une fois, merci infiniment pour ton aide.

Très bon weekend. 😉 😎
 
Re : 1 seule macro pour tous les Shapes

Re Jacques,

à quoi correspond p. J'ai le message d'erreur : l'indice n'appartien pas à la sélection.
Ceci sur le bouton que tu as mis.

ooooopppss! J'ai parlé trop vite, désolé. 😱

Merci Jacques pour ton intervention.

Très bon weekend à toi aussi.



A+ 😎
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour