Création barre d'outils personnalisée

un internaute

XLDnaute Impliqué
Bonjour le forum,
J'ai crée une barre d'outils personnalisée mais je ne sais pas où la placer. Dans Macro complémentaires?
Dans START?
Ça m'ouvre 2 classeur1
J'ai parcouru différents forums mais sans résultat.
Merci pour vos retours
Bon WE
Cordialement
 

chris

XLDnaute Barbatruc
Bonjour

Il faut stocker le code dans un module standard d'un nouveau classeur
Enregistrer le classeur en xla (où tu veux)
Créer la barre et associer cette barre à ce classeur.
Réenregistrer le classeur xla.
Pour tester, fermer le classeur, supprimer la barre. Ouvrir le fichier xla : elle doit apparaître.
Mettre le fichier xla en chargement auto : de mémoire outils, macros complémentaires, parcourir....
 

un internaute

XLDnaute Impliqué
Bonjour à tous,
Merci à tout ceux qui ont bien voulu appporter leur contribution mais j'abandonne.
Pourtant si ça se trouve on en est pas loin.
Pour résumer: J'ai 2 macros que je recopie dans un module standard.
Ça fonctionne et après...c'est là que ça se corse.
Comme le dit JCGL on ne peut pas ouvrir 2 classeurs du même nom dans la même instance Excel.
Bonne journée à tous
 

un internaute

XLDnaute Impliqué
Bonsoir Staple1600,
Tout simplement macros faites avec outils => Macro => nouvelle macro
Bonne fin de soirée
Pour faire simple. Lorsque j'ouvre un fichier existant j'ai classeur1.xls qui s'ouvre aussi
Cordialement

Sub CentrerSurPlusieursColonnes()

With Selection

.HorizontalAlignment = xlCenterAcrossSelection

.VerticalAlignment = xlCenter

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

End Sub

Sub SupprimerCentrerSurPlusieursColonnes()

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

.MergeCells = False

End With

End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re, bonsoir maval

un internaute
Tu peux alléger tes deux macros ainsi
VB:
Sub CentrerPC()
With Selection
    .HorizontalAlignment = xlCenterAcrossSelection
    .VerticalAlignment = xlCenter
End With
End Sub
Sub SuppCentrerPC()
With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With
End Sub
Mais je ne vois rien dans ton code VBA qui sert à ouvrir deux classeurs comme indiqué dans ton premier message.

Sinon pour avoir à disposition ces deux macros pour tous tes classeurs, voici une façon de faire
1) tu enregistres donc tes macros dans perso.xls
2) tu personnalises une barre d'outil native* d'Excel en y ajoutant deux boutons
auxquels tu associes l'une et l'autre macros
(par exemple la barre d'outils Standard, clic-droit dessus ->Personnaliser->Toutes les commandes->Macro->choisir l'icone smiley et faire un drag and drop sur la barre d'outil
Ensuite utiliser l’éditeur d’icônes intégré pour personnaliser les icônes des boutons)
 
Dernière édition:

un internaute

XLDnaute Impliqué
Re, bonsoir maval

un internaute
Tu peux alléger tes deux macros ainsi
VB:
Sub CentrerPC()
With Selection
    .HorizontalAlignment = xlCenterAcrossSelection
    .VerticalAlignment = xlCenter
End With
End Sub
Sub SuppCentrerPC()
With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
End With
End Sub
Mais je ne vois rien dans ton code VBA qui sert à ouvrir deux classeurs comme indiqué dans ton premier message.

Re Staple1600,
Lorsque j'ouvre classeur1.xls => clic droit visualiser le code => Insertion module => Je colle le code => Après je fait ma barre d'outils personnalisée avec le lien ci-dessous
http://www.conseil-creation.com/informatique/bureautique/excel/macro_menus.php
Jusque là pas de problème. Mais le nouveau classeur1.xls je l'enregistre où?
Merci d'avance
Bonne fin de soirée
 

Staple1600

XLDnaute Barbatruc
Re

un internaute
J'ai édité mon précédent message
Et j'ai été voir ton lien (qui tombe bien) car justement dans ce chapitre on explique ce que j'ai ajouté dans l'édition de mon précédent message
Affecter une macro à un bouton

NB: Tes macros doivent être stockées dans le classeur de macros personnelles et non pas dans Classeur1.
Voir ici pour les explications
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour à tous , chris

un internaute
Pour quelle raison rationnelle tu ne souhaites pas utiliser Perso.xls ?
(dont la fonction est de stocker des macros qui soit accessible quelque soit le classeur ouvert)
Que tes macros soient dans Perso.xls ou dans un addin, la finalité est la même: disposer de macros pour tous les classeurs
L'avantage de Persol.xls c'est que le code VBA qui s'y trouve est plus facilement accessible (donc modifiable) que dans un addin.

Et qu'en est-il de ma suggestion de personnaliser une barre d'outils native d'Excel en y ajoutant deux boutons (eux aussi personnalisable au niveau de l'icone) auxquels tu affecteras tes macros : Centrer sur plusieurs colonnes et Supprimer centrer ?
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Pour etre plus explicite voir ci-dessous la MEO de ce j'ai décris plus tôt
uninternaute.jpg

Donc avec cette méthode, quel que soit le classeur ouvert, j'ai accès à ces deux boutons (donc pas besoin de créer de menu personnalisé) tant que la barre d'outils Mise en forme reste affichée.
 

Discussions similaires

Réponses
18
Affichages
652
Réponses
2
Affichages
298
Réponses
4
Affichages
199

Statistiques des forums

Discussions
312 330
Messages
2 087 349
Membres
103 526
dernier inscrit
HEC