Barre d'outil personnalisé : exporter uniquement un onglet
Bonjour à tous,
Voilà, j'ai un compléments excel qui contient pas mal de macros. Comme je dois installer ce complément sur plusieurs machines, je me suis dis que ça serait bien plus simple d'exporter mon onglet personnalisé avec les boutons qui lancent toutes ces macros.
(Personnaliser le ruban -> importer/exporter les personnalisations). Comme ça, j'ai pas à tout refaire à chaque fois.
Le souci c'est que ça exporte TOUS les onglets. Y aura pas moyen de juste exporter l'onglet que je veux, et qui "s'ajouterais" à la barre d'outil excel. J'ai cherché, mais pour exporter une personnalisation, il n'y a qu'un choix : "exporter TOUTES les peronnalisations". J'ai essayé en ne cochant que l'onglet qui m'interesse, mais quand j'importe, ça supprime tous les autres pour ne laisser que mon onglet, ça n'ajoute pas. En gros, ça remplace.
Le truc c'est que si par exemple la personne a l'onglet "Developpeur" sur son excel, et que dans mon fichier que je vais importer je ne l'ai pas, alors ça va lui supprimer. Ceci n'est qu'un exemple, mais j'ai peur de modifier leur configuration.
Si il n'y a pas de solution à ce problème, c'est pas vraiment grave, mais si jamais il y en a une, ça serait génial
Merci à vous !
Salut le forum
Electricdandy, tu devrais t'en sortir avec ceci :
La commande pour installer une macro complémentaire en VBA est :
AddIns.Add Filename:=Rep_Install & "\Update.xla", CopyFile:=FalseVoici aussi un code pour « cocher » une macro complémentaire :
Dim Boucle as integer
For Boucle = 1 To AddIns.Count step 1
If UCase(AddIns.Item(Boucle).Name) = 'UPDATE.XLA' Then
AddIns.Item(Boucle).Installed = True
Exit For
End If
Next BoucleMytå
Tout d'abord, merci pour cette réponse.
Alors, le problème, c'est que je suis débutante en VBA (toujours....
En fait, j'ai besoin d'explication sur ce qui est possible de faire ou non (j'ai fais des recherches, mais j'avoue que je sui suis un peu paumée).
J'arrive bien à charger mes macros, elles sont toutes dans un seul et même fichier mon_fichier.xlam.
Du coup, j'ai simplement à faire, pour chaque ordinateur, faire "fichier" - "options" - "compléments" - et la je charge mon fichier .xlam.
Du coup, sur chaque ordinateur je dois rajouter manuellement les boutons pour lancer les différentes macros contenues dans ce fichier compléement.
Serait il possible "d'attacher" l'onglet que j'ai préalablement personnalisé uniquement au fichier mon_fichier.xlam pour qu'une fois définie comme macro complémentaire, ma barre d'outil soit aussi chargé ? J'ai vu que ça se faisait facilement sur les version précédentes d'excel, mais apparement, sur excel 2010, il n'y a pas le bouton "attacher". Faut obligatoiremenent réaliser cette barre personnalisé via du code vba ?
Si c'est possible sans vba, ça serait encore mieux.
En fait, j'ai peur de ne pas être assez claire :
Je voudrais faire en sorte que ma barre d'outil personnalisé se charge en même temps que mon fichier ".xlam".
Encore une fois merci pour ton aide, c'est agréable de voir des solutions quand on ne sait plus quoi faire, j'apprécie.
Salut,
J'ai trouvé une solution, tout le monde doit surement connaitre mais moi je ne connaissais pas.
En j'ai utilisé le logiciel "Office 2007 Custom UI Editor" qui me permet créer mon onglet personnalisé qui est directement lié au ruban excel de mon fichier, j'ai plus qu'à mettre le fichier .xlam en complément et l'onglet apparait tous le temps.
Merci en tout cas pour l'aide Mytå
Bonne journée
Salut,
En fait, je reviens sur ce poste parce que le code que tu m'a donnée m'interesse.
J'en ai besoin aujourdh'ui, et je n'ai pas réussi à le faire fonctionner.
Voilà ce que j'aimerais pouvoir faire mais je ne sais pas si c'est possible :
J'aimerais trouver un code qui me permet de "charger" un complement via le ruban.
Je m'explique : j'ai un fichier "XLAM" qui est pas mal lourd, ce qui fait que quand je le charge en complément, le démarrage d'excel est un peu plus long (quelques secondes uniquement).
Du coup, je me suis dis que ce qui serait pas mal, ça serait de mettre dans la barre d'outil excel une case à cocher, (ou un bouton, peu importe) qui permettrait de charger ou non le complément lourd dont je viens de parler.
case cochée : charger le complement
case pas cochée : on décharge le complement
ça ne serait que pour moi, le fait d'attendre quelques seconde ou de devoir ajouter manuellement le complément ne me dérangerait pas, mais comme c'est pour d'autres personnes, ça serait bien que ça se fasse plus simplement.
Est ce que c'est possible ? J'imagine que oui car le code que tu m'as envoyé semble correspondre à ma demande.
Cepedant, je n'ai pas réussi à le faire fonctionner.
à quoi correspond UCase ?
Voilà le code que tu m'avais donnée :
Dim Boucle as integer
For Boucle = 1 To AddIns.Count step 1
If UCase(AddIns.Item(Boucle).Name) = 'UPDATE.XLA' Then
AddIns.Item(Boucle).Installed = True
Exit For
End If
Next BouclePourrais tu m'expliquer comment faire ? où placer le code ?
Merci,
j'ai toruvé quelque chose, mais ça ne marche pas completement comme je le voudrais.
Je pensais pas que ça pouvais marcher, mais j'ai utilisé l'enregistreur automatique de macros, en fait la manip manuellement d'ajout de complement.
Et ça m'a donnée ce code :
AddIns("test").Installed = True(Il faut préalablement avoir chargé manuellement la macro complément "test" depuis : options -> complément -> atteindre).
L'onglet contenu dans mon complement "test.xlam" s'ajoute bien au ruban, nickel. Seulement, dès que je click sur un des bouton de l'onglet ajouté (du complement), ça me marque ce magnifique message d'erreur :
"Impossible d'executer la macro 'Macro1'. Il est possible qu'elle ne soit pas disponible dans ce classeur ou que toutes les macros soient désactivées".
(pourtant, les modules, les userforms et modules de classe s'ajoute bien dans le code vba)
Ce que je ne comprend pas c'est que si je ferme le classeur qui contient le code pour charger le complement "test", et que j'ouvre un fichier excel, ça marche. Comment ça se fait ? je comprend vraiment pas où ça foir.....