bonjour,
je dispose de nombreux fichiers excel identiques
j'ajoute par macro dans ces classeurs
-une macro copie_colonnes dans un module1 ok!
-une zone de texte sur tout les onglets ok!
mais je voudrais affecter à cette zone de texte le lancement de copie_colonnes
le problèmeest que la macro ne se lance pas sauf si je la copie dans le code
de chaque feuille et je ne peux pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas B.
Bonjour,
Il est possible de recopier le code nécessaire à chaque bouton automatiquement par VBA. Des exemples sont disponibles ici : http://frederic.sigonneau.free.fr/VBE.htm
Et plus particulièrement celui-là : http://frederic.sigonneau.free.fr/code/VBE/AjoutBoutonPlusCodeParVBA.txt
Une autre solution consisite à passer par une barre d'outils, qui sera donc visible à partir de toutes les feuilles du classeur :
Voici un exemple à adapter :
Sub AjoutBarreOutils() Dim cb As CommandBar Dim ce As CommandBarControl
Set cb = Application.CommandBars.Add("myControlBar") cb.Visible = True Set ce = cb.Controls.Add(Type:=msoControlEdit)
ce.Caption = "myControlEdit" ce.OnAction = "MacroTest" End Sub
Sub MacroTest() MsgBox Application.CommandBars("myControlBar").Controls(1).Text End Sub
A+ Nicolas B.
bonjour, je dispose de nombreux fichiers excel identiques j'ajoute par macro dans ces classeurs -une macro copie_colonnes dans un module1 ok! -une zone de texte sur tout les onglets ok!
mais je voudrais affecter à cette zone de texte le lancement de copie_colonnes le problèmeest que la macro ne se lance pas sauf si je la copie dans le code de chaque feuille et je ne peux pas.
merci
Bonjour,
Il est possible de recopier le code nécessaire à chaque bouton
automatiquement par VBA.
Des exemples sont disponibles ici :
http://frederic.sigonneau.free.fr/VBE.htm
Et plus particulièrement celui-là :
http://frederic.sigonneau.free.fr/code/VBE/AjoutBoutonPlusCodeParVBA.txt
Une autre solution consisite à passer par une barre d'outils, qui sera
donc visible à partir de toutes les feuilles du classeur :
Voici un exemple à adapter :
Sub AjoutBarreOutils()
Dim cb As CommandBar
Dim ce As CommandBarControl
Set cb = Application.CommandBars.Add("myControlBar")
cb.Visible = True
Set ce = cb.Controls.Add(Type:=msoControlEdit)
ce.Caption = "myControlEdit"
ce.OnAction = "MacroTest"
End Sub
Sub MacroTest()
MsgBox Application.CommandBars("myControlBar").Controls(1).Text
End Sub
A+
Nicolas B.
bonjour,
je dispose de nombreux fichiers excel identiques
j'ajoute par macro dans ces classeurs
-une macro copie_colonnes dans un module1 ok!
-une zone de texte sur tout les onglets ok!
mais je voudrais affecter à cette zone de texte le lancement de copie_colonnes
le problèmeest que la macro ne se lance pas sauf si je la copie dans le code
de chaque feuille et je ne peux pas.
Il est possible de recopier le code nécessaire à chaque bouton automatiquement par VBA. Des exemples sont disponibles ici : http://frederic.sigonneau.free.fr/VBE.htm
Et plus particulièrement celui-là : http://frederic.sigonneau.free.fr/code/VBE/AjoutBoutonPlusCodeParVBA.txt
Une autre solution consisite à passer par une barre d'outils, qui sera donc visible à partir de toutes les feuilles du classeur :
Voici un exemple à adapter :
Sub AjoutBarreOutils() Dim cb As CommandBar Dim ce As CommandBarControl
Set cb = Application.CommandBars.Add("myControlBar") cb.Visible = True Set ce = cb.Controls.Add(Type:=msoControlEdit)
ce.Caption = "myControlEdit" ce.OnAction = "MacroTest" End Sub
Sub MacroTest() MsgBox Application.CommandBars("myControlBar").Controls(1).Text End Sub
A+ Nicolas B.
bonjour, je dispose de nombreux fichiers excel identiques j'ajoute par macro dans ces classeurs -une macro copie_colonnes dans un module1 ok! -une zone de texte sur tout les onglets ok!
mais je voudrais affecter à cette zone de texte le lancement de copie_colonnes le problèmeest que la macro ne se lance pas sauf si je la copie dans le code de chaque feuille et je ne peux pas.
merci
Julien
merci pour l'aide le bouton se place bien sur les feuilles mais il n'y a pas d'action car le code se met dans le module comme demandé, si je met le code du bouton dans les feuilles ou se trouvent le bouton cela fonctionne
il me faudrait un moyen de pouvoir lancer la procedure en la laissant dans le module
merci pour l'aide
le bouton se place bien sur les feuilles
mais il n'y a pas d'action car le code se met dans le module comme demandé,
si je met le code du bouton dans les feuilles ou se trouvent le bouton cela
fonctionne
il me faudrait un moyen de pouvoir lancer la procedure en la laissant dans
le module
merci pour l'aide le bouton se place bien sur les feuilles mais il n'y a pas d'action car le code se met dans le module comme demandé, si je met le code du bouton dans les feuilles ou se trouvent le bouton cela fonctionne
il me faudrait un moyen de pouvoir lancer la procedure en la laissant dans le module
Julien
je n'ai plus besoin d'aide je viens de trouveer la solution, il suffisait de forcer le lien vers la macro : Selection.OnAction = adresse adresse = ActiveWorkbook.Name & "!lancement"
je vous recmercie encore
je n'ai plus besoin d'aide je viens de trouveer la solution, il suffisait de
forcer le lien vers la macro :
Selection.OnAction = adresse
adresse = ActiveWorkbook.Name & "!lancement"
je n'ai plus besoin d'aide je viens de trouveer la solution, il suffisait de forcer le lien vers la macro : Selection.OnAction = adresse adresse = ActiveWorkbook.Name & "!lancement"