Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer une macro "à la volée" depuis du code VBA

  • Initiateur de la discussion Initiateur de la discussion Lolo86170
  • Date de début Date de début

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 !

L

Lolo86170

Guest
Bonjour,
A partir d'une procédure VBA, je génère un fichier Excel de A à Z avec une entête, un tableau de chiffre... Dans ce tableau, il faut absolument des formes automatiques (des flèches) qui permettent de faire des tris sur des colonnes.
J'arrive à créer dynamiquement cette flèche où je veux par le code suivant :
ActiveSheet.Shapes.AddShape(msoShapeDownArrowCallout, _
siObjLeft, siObjTop, siObjWidth, siObjHeight).Select
Par contre, je n'arrive pas à rajouter à cet objet une macro créée "à la volée" depuis mon code VBA et qui permettra le tri sur la colonne où l'objet est positionné.
Si quelqu'un peut m'aider, ce serait super sympa.
A+
Laurent
 
Re : Créer une macro "à la volée" depuis du code VBA

Bonsoir,

Essaie ceci :
Code:
Sub Test()
Set MaFleche = ActiveSheet.Shapes.AddShape(msoShapeDownArrowCallout, 10, 10, 20, 30)
MaFleche.OnAction = "Macro1"
End Sub

Sub Macro1()
MsgBox "toto"
End Sub

ou

Code:
Sub Test()
ActiveSheet.Shapes.AddShape(msoShapeDownArrowCallout, 10, 10, 20, 30).OnAction = "Macro1"
End Sub
 
Dernière édition:
Re : Créer une macro "à la volée" depuis du code VBA

Merci Catrice pour cette réponse rapide, c'est vraiment très sympa.
On avance, mais ce je voudrais pouvoir créer le code de la macro de manière dynamique, en reprenant l'exemple, je voudrais pour avoir le contenu du Msgbox en fonction du contexte, une fois avec "titi", un autre avec "toto"...
Laurent
 
Re : Créer une macro "à la volée" depuis du code VBA

Bonsoir,

Je ne sais pas si on peut créer du code à la "volée" mais comme tu veux trier des colonnes, ci-joint un exemple qui créé des boutons qui trient suivant chque colonne.
 

Pièces jointes

Dernière édition:
Re : Créer une macro "à la volée" depuis du code VBA

Bonjour Lolo, Bonjour Catrice,

On appelle Titi puis Toto, et j'arrive 😉

Pour créer des macros dans un autre classeur, je te conseille de consulter cette page là :

Visual Basic Editor - Club des décideurs et professionnels en Informatique

Saches simplement que pour que ça fonctionne, il faudra certainement, sur le poste qui fait tourner la macro, que tu ailles dans
Menu Outils - Macros - Sécurité
Onglet Sources fiables
Cocher faire confiance au projet Visual Basic
OK
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…