Pb de mise à jour de liaisons dynamiques

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
 
D

Dominique

Guest
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
 
D

Dominique

Guest
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
 

Dan

XLDnaute Barbatruc
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

;)
 
E

Eric D

Guest
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
 

Dan

XLDnaute Barbatruc
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.

;)
 
E

Eric D

Guest
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
 

Dan

XLDnaute Barbatruc
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.

;)
 
E

Eric D

Guest
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
 

Dan

XLDnaute Barbatruc
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
 
E

Eric D

Guest
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
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87