Pb de mise à jour de liaisons dynamiques

  • Initiateur de la discussion Initiateur de la discussion Eric D
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Eric D

Guest
Bonjour à tous et toutes,

Comme le dit le sujet, j'ai un soucis de mise à jour de liaisons dynamiques, à savoir:

J'ai mon application qui me 'crée' deux classeurs. Je met crée entre parenthèse, car en fait elle va me chercher deux classeurs type et les copie dans un autre dossier et les renomme. Cependant, j'ai des liaisons dynamiques entre ces deux classeurs (100) et avec d'autres. J'aimereais savoir si il n'y aurait pas possibilité de mettre à jour ces liaisons, sans passer par la fenêtre de MàJ, connaissant l'ancien et le nouveau chemin et nom des fichiers.

Merci pour votre aide.

Eric D
 
UpdateLink, cette méthode met à jour une ou plusieurs liaisons Microsoft Excel, DDE ou OLE.

expression.UpdateLink(Name, Type)

expression Obligatoire. Expression qui renvoie un objet Workbook.

Name Argument de type String facultatif. Nom de la liaison Microsoft Excel ou DDE/OLE à mettre à jour, comme la méthode LinkSources le renvoie.

Type Argument XlLinkType facultatif.

Remarque Lorsque la méthode UpdateLink est appelée sans aucun paramètre, Excel met à jour par défaut les liaisons de toutes les feuilles de calcul.

Cet exemple montre comment mettre à jour toutes les liaisons dans le classeur actif.

ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
 
UpdateLink, cette méthode met à jour une ou plusieurs liaisons Microsoft Excel, DDE ou OLE.

expression.UpdateLink(Name, Type)

expression Obligatoire. Expression qui renvoie un objet Workbook.

Name Argument de type String facultatif. Nom de la liaison Microsoft Excel ou DDE/OLE à mettre à jour, comme la méthode LinkSources le renvoie.

Type Argument XlLinkType facultatif.

Remarque Lorsque la méthode UpdateLink est appelée sans aucun paramètre, Excel met à jour par défaut les liaisons de toutes les feuilles de calcul.

Cet exemple montre comment mettre à jour toutes les liaisons dans le classeur actif.

ActiveWorkbook.UpdateLink Name:=ActiveWorkbook.LinkSources
 
Bonjour,

Les explications de Dominique sont disponibles dans l'aide excel.
Pour les trouver :

ALT + F11 pour accéder à VBA
vas dans menu / ? et choisis AIDE
Dans Aide intuitive, tapes : UpdateLink

Essaie également de d'utiliser l'enregistreur automatique de macros et effectue manuellement de que tu veux faire. Puis vas dans VBA voir la macro que tu as effectuée.Tu la trouveras dans un module via CTRL + R qui t'affiche le VBA Project et les modules disponibles.

Bon AP

😉
 
Bonjour Dominique, le forum,

Merci, mais cela resemble à l'aide dans VBA et je ne comprend pas tout. En fait mon soucis est de mettre à jour les liaisons du classeur(1), nouvellement généré, vers les classeurs(2) à (12), nouvellement généré également. Ces liaisons existaient auparavent, puis ce que en fait ces classeurs étaient dans un dossier (Init). Ces 11 classeurs sont renommés et les chemins d'acces connus. Voila pour l'explicatif. Je ne vois pas comment et où faire intervenir mes nouveaux noms de classeurs. Comment connaitre le nom de chaque liaison.

Merci pour ton aide.

Eric D
 
Re,

Je ne comprends pas bien ton pb.
Essaie de placer un petit fichier zippé avec un mot d'explication. c'est plus facile pour t'aider.
Sinon pour enregistrer une macro :

- Menu / Outils / macro / Nouvelle macro.
- Attribue un nom
- Fais tes opérations pour la mise à jour
- arrete ta macro

Vas dans VBA comme je te l'ai expliqué avant.

😉
 
Re Dan, le forum,

En fait, j'ai 11 classeurs dans un dossier. Suivant un evenement partiulier, mon application copie et renomme ces 11 classeurs dans des autres dossiers. Mon Pb c'est que ces classeurs ont des liaisons dynamiques et qu'il faut une remise à jour pour qu'elles soient tjrs actives et correctes.

En esperant avoir été plus précis, je te remercie pour ton interet.

Eric D
 
Re,

Si tu recopies tes feuilles via un clique droite par exemple, les liens sont conservés et sont donc dynamiques en cas de modifications de données.

Si cela ne se fait pas, il faut vérifier si dans menu / outils / options l'option suivante est cochée sous l'onglet Calcul --> 'mise à jour des référence hors programme'

Si c'est le cas, je ne comprends pas où est ton problème. Merci donc de m'expliquer ce qui se passe par un exemple.

😉
 
Re,

Non, en fait mon application fait des traitements et quand une cellule a une certaine valeure, mon application copie et renomme des classeurs dans d'autres dossiers. Etant donné que les noms et chemins sont différents, 'je pense' que les liaisons qui existaient ne sont plus valides et donc je doit les mettre à jour...

A bientôt
Eric D
 
Re,

Dans un classeur renommé verifies vas dans menu / outils /options et sous l'onglet affichage, coche l'option 'formules'. cela te permet de vérifier si les liaisons existent ou non.
Fais de même par menu / edition / liaisons, tu devrais voir que les liaisons sont toujours actives.

😉

Message édité par: Dan, à: 12/10/2005 20:55
 
Bonjour Dan, le forum,

Effectivement les liaisons sont tjrs actives, mais 'elles se pardent sans la nature', dans la mesure où les classeurs ont été renommé. Il faudrait que je puisse intervenir sur le nom du fichier source, de la fenetre de MàJ, mais je ne sais pas comment faire connaitre à VBA, le nom de la liaison.

Merci pour ton aide.

A+

Eric D
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
8
Affichages
485
Retour