VBA- liaison à une ancienne version de mon fichier
Bonjour à tous,
J'ai créé des modules VBA pour un document qui s'appelle 2017-03-44_Maquette Jérôme.
Tout marchait parfaitement.
J'ai continué à travailler depuis sur ce document mais jamais sur les modules.
J'ai toujours enregistré au fur et à mesure mes versions et je suis maintenant à la version 2017-03-50_Maquette Jérôme.
En voulant utiliser de nouveau mes modules je constate que quand je clique sur le complément pour activer le module. La version 2017-03-44_Maquette Jérôme s'ouvre d'abord et mon module fonctionne ensuite. Je ne comprend pas la liaison entre les deux fichier sachant que j'ai "enregistrer sous" dès que j'ai effectué une modification.
Pourquoi les deux fichier sont-ils liés?
Comment faire pour pouvoir utiliser ce document indépendamment de la version 2017-03-44_Maquette Jérôme ?
Je voudrais pouvoir copier ce fichier et pouvoir l'utiliser partout cependant il ne retrouve pas le chemin de la version 2017-03-44_Maquette Jérôme et donc ne peut pas fonctionner partout actuellement.
Pouvez-vous m'aider?
bonjour,
Tu pourrais déjà commencer par virer toute référence à l'ancien classeur.
Données > Connexions et
Données > Connexions existantes
Si ça résiste il y des macros qui calment les plus résistantes.
Cependant il peut y avoir aussi des références VBA qui interviennent...
Tu peux nous passer le classeur OUPA ?
A+
Merci pour votre réponse.
Alors j'avais effectivement regardé les liaisons mais il n'y en avait pas.
J'ai constaté cependant que lorsque j’exécute les macros avec le menu "Afficher les macros" ça fonctionne sans ouvrir l'ancien fichier...
Au contraire, lorsque j’exécute les macros depuis le ruban, que j'ai créé via "personnaliser le ruban", ça ouvre l'ancienne version.
Je pense que ma configuration du Ruban se réfère aux macros de la version d'origine du fichier (de la version dans laquelle j'ai créé ce menu).
Je voudrais que mon ruban personnalisé utilise la macro contenue dans le document que j'ouvre. Il y a sans doute un problème de paramétrage de la création du ruban.
Malheureusement je ne peux pas diffuser le document...
Je vous remercie pour vos suggestions.
Bonjour,
Enregistrer sous... c'est pas top ! En effet à chaque fois tu changes le nom de ton fichier...
Pour ce genre de personnalisation, Le mieux serait de ne pas faire appel à une macro du fichier, mais une macro de ton classeur de macro complémentaire. ("perso.xlam") Ce serait donc la macro d'abord qu'il faut paramétrer.
Voici l'idée générale :
Sub TaMacro()
Dim S$
S = ActiveWorkbook.Name
If InStr(S, "Maquette") > 0 Then
'le nom du classeur contient bien le mot "Maquette" :*
'ici tu places la suite du code à exécuter
End If
End SubEt c'est cette macro que tu vas raccorder à ton menu perso :
La macro va s'exécuter sur le fichier en cours en vérifiant seulement la présence du mot "Maquette" dans le nom du classeur.
Inconvénient : c'est a l'utilisateur que revient de s'assurer qu'il utilise bien la dernière version. (car la macro fonctionnera tout aussi bien sur toutes les anciennes versions)
Si tu n'as pas de perso.xlam, voici une autre solution qui a l'avantage de ne pas utiliser de Enregistrer sous...
Renommer le dernier classeur "Maquette Jérôme.xlam" (sans date)
Avant de quitter le classeur tu vas faire une macro
Private Sub Workbook_BeforeClose(Cancel As Boolean)
End Subque tu vas placer dans ThisWorkbook
Dans cette macro tu placeras un SaveCopyAs qui effectueras une copie de versionnement Datée numérotée... mais qui va sauvegarder ton classeur de travail toujours sous le même nom...
Ainsi à chaque fermeture du fichier tu auras une copie datée et Numérotée dans un autre répertoire dédié à cet effet (et si possible de préférence sur un autre disque dur...) mais tu ouvriras toujours le même fichier donc ton ruban n'auras pas à se poser de question puisque ton fichier de trvail ne changera pas...
Avantage et inconvénient de cette dernière version. Pas besoin de perso.xlam.
Inconvénient : Il faut très bien régler ton SaveCopyAs parce que si tu n'as pas trop bien pensé cette macro et que tu ouvres ton fichier dix fois par jour, il va te faire dix copy par jour datées numérotées, incrémentées... et au bout de cinq ans tu te retrouves sans problème avec 10 000 copies incrémentées dans ton répertoire de copies... Pour peu que ton classeur aie un peu d'embonpoint tu peut parfaitement te retrouver avec quelques Go de Copies datées, numérotées...
Il faut donc bien soigner la macro qui nomme tes copies en écrasant celle qui deviennent trop anciennes. On peut aussi jouer sur le modulo des N° de versions pour repartir à 0 après la 9ème ou après la 5ème de la même semaine ou du même mois...
Enfin bref ça c'est à toi d'analyser avec quelle fréquence et sur quelle période tu souhaites conserver tes archives...
Autre avantage : comme tu travailles toujours sur le même fichier et que tes copies sont ailleurs, Tu n'as pas besoin de chercher la dernière version...
A+