VBA, chemin relatifs ? BO et Macros

Résolu
FreFre77 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
FreFre77 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bien le bonjour à tous,

Tout d'abord je suis tout nouveau inscrit et je n'ai que très peu utilisé les forums jusqu'à présent alors n'hésitez pas à me signaler s'il y a un problème avec mes "post".

Venons en au problème auquel je fais face et ne trouve de réponse.

Je suis en train de créer en VBA, un outil. Cet outil, via une Boîte à Outils (BO) créer par mes soins, permet d'actionner différentes macro présentes dans mon classeur.

Pour affecter ces macros aux boutons de ma BO j'ai donc utilisé les fonctionnalités Excel de base.

En effet, j'ai été dans le menu : "Outils -> Personnaliser" ... Clic-droit sur le bouton, "Affecter une macro"...

Le problème se situe lors du changement de lieu de mon classeur. S'il n'est plus sur le bureau, sa place actuelle, alors les macros ne fonctionne plus car le lien des boutons n'est alors plus valide et pointe vers l'ancien répertoire, c'est-à-dire, le bureau.

Connaitriez-vous un moyen de palier à ce problème ?

Si la question à déjà été posée, je vous prie de m'en excuser.

2 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

Je pense qu'il manque des éléments dans ta description du problème car si tes macros sont dans ton classeur aucune raison qu'il ne les trouve pas...
Si tes macros sont dans un autre classeur ne le déplace pas. Ouvre les 2 classeurs et fais 'enregistrer sous', tu auras plus de chance que les liens se mettent à jour.
Pour info tu peux récupérer les chemin d'un classeur avec thisworkbook.path

eric
0
m@rina Messages postés 23917 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonjour,

Moi j'ai compris qu'il s'agit d'une macros qui doit fonctionner avec n'importe quel classeur.
Dans ce cas, ton classeur n'a rien à faire sur le bureau, ni nulle part d'ailleurs, il faut que tu en fasses une macro complémentaire. Ainsi ta macro pourra se charger en tant que complément et tu y auras toujours accès.
Enregistrer sous : format xla (ou xlam pour la v2007)

Pour faire référence au classeur, tu mettras ActiveWorkbook.

m@rina
0
FreFre77 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
En fait, je pense avoir trouver la réponse à mon problème.

En effet, la barre d'outils étant chargée lors de l'ouverture de mon classeur, celle-ci charge les liens vers les macros correspondantes au même moment.

Or, si j'ouvre un autre classeur excel qu'elle qu'il soit, il se retrouve avec la même barre à outils et si mon fichier dans lequel se situait mes macros à changer de place, alors il n'est plus possible d'avoir accès aux macros car les liens n'étant pas "rechargés" sont faux.

Le tout est en fait de penser à fermer la barre d'outils à chaque fermeture du classeur afin que les liens puissent être "rechargés" automatiquement de la bonne façon à chaque démarrage du classeur concerné.

Merci en tout cas pour vos réponses et je tâcherais d'être plus précis la prochaine fois !
0