Excel 2003
Bonjour
j'ai un classeur avec des liaisons DDE.
Comment intercepter en VBA, au moment de l'ouverture du classeur, le message
d'invitation à mettre à jour les liaisons DDE.
autrement dit en VBA, à quel endroit faut-il mettre une instruction
d'autorisation ou non des liaisons DDE
Excel 2003 Bonjour j'ai un classeur avec des liaisons DDE. Comment intercepter en VBA, au moment de l'ouverture du classeur, le message d'invitation à mettre à jour les liaisons DDE. autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
OpKPLKCvHHA.3748@TK2MSFTNGP04.phx.gbl...
Excel 2003
Bonjour
j'ai un classeur avec des liaisons DDE.
Comment intercepter en VBA, au moment de l'ouverture du classeur, le
message d'invitation à mettre à jour les liaisons DDE.
autrement dit en VBA, à quel endroit faut-il mettre une instruction
d'autorisation ou non des liaisons DDE
Excel 2003 Bonjour j'ai un classeur avec des liaisons DDE. Comment intercepter en VBA, au moment de l'ouverture du classeur, le message d'invitation à mettre à jour les liaisons DDE. autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
Merci pour votre aide
JJK94
isabelle
bonjour JJK94,
autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open() Application.AskToUpdateLinks = False 'ou True selon le cas End Sub
isabelle
bonjour JJK94,
autrement dit en VBA, à quel endroit faut-il mettre une instruction
d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open()
Application.AskToUpdateLinks = False 'ou True selon le cas
End Sub
autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open() Application.AskToUpdateLinks = False 'ou True selon le cas End Sub
isabelle
JJK94
Correction : Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois l'application Excel pour que la modication soit effective. Application.AskToUpdateLinks = False
JJK
"JJK94" a écrit dans le message de news: %
Bonsoir Apparement , le message arrive avant l'evenement workbook_open
je regarde de mon coté JJK
"isabelle" a écrit dans le message de news:
bonjour JJK94,
autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open() Application.AskToUpdateLinks = False 'ou True selon le cas End Sub
isabelle
Correction :
Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois
l'application Excel pour que la modication soit effective.
Application.AskToUpdateLinks = False
JJK
"JJK94" <jjk94@hotmail.fr> a écrit dans le message de news:
%23OxgH2NvHHA.3588@TK2MSFTNGP06.phx.gbl...
Bonsoir
Apparement , le message arrive avant l'evenement workbook_open
je regarde de mon coté
JJK
"isabelle" <i@v> a écrit dans le message de news:
O1ZxyKEvHHA.4764@TK2MSFTNGP05.phx.gbl...
bonjour JJK94,
autrement dit en VBA, à quel endroit faut-il mettre une instruction
d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open()
Application.AskToUpdateLinks = False 'ou True selon le cas
End Sub
Correction : Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois l'application Excel pour que la modication soit effective. Application.AskToUpdateLinks = False
JJK
"JJK94" a écrit dans le message de news: %
Bonsoir Apparement , le message arrive avant l'evenement workbook_open
je regarde de mon coté JJK
"isabelle" a écrit dans le message de news:
bonjour JJK94,
autrement dit en VBA, à quel endroit faut-il mettre une instruction d'autorisation ou non des liaisons DDE
à mettre sur la page code de ThisWorkBook,
Private Sub Workbook_Open() Application.AskToUpdateLinks = False 'ou True selon le cas End Sub
isabelle
isabelle
bonjour JJK94,
voici une réponse plus complète donner sur ce forum par MichDenis
La solution diffère selon la version d'Excel : - sous Excel 2002 : ActiveWorkbook.UpdateLinks = xlUpdateLinksNever ou xlUpdateLinksAlways - Excel 97 : Application.AskToUpdateLinks = False ou true
Les 3 options suivantes, c'est ce que l'on retrouve dans la fenêtre liaisons ( barre des menus / édition / liaisons / bouton de commande "Invite de démarrage".
Elles sont présentes sauf erreur depuis la version 2002 d'excel.
nous amène à la fenêtre où l'on peut choisir l'une des options suivantes
1) ActiveWorkbook.UpdateLinks = xlUpdateLinksUserSetting Laisser les utilisateurs choisir d'afficher ou non l'alerte
2) ActiveWorkbook.UpdateLinks = xlUpdateLinksNever Ne pas afficher l'alerte et ne pas mettre à jour...
3) ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways Ne pas afficher l'alerte et mettre à jour
Ces mises à jour des données, selon l'option que l'on a choisie se font à l'ouverture du fichier seulement. Cependant, il est possible de forcer ces mises à jour par code à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on peut utiliser ceci : '------------------------ With ThisWorkbook .UpdateLink Name:=" C : AtravailClasseur1.xls", Type:=xlExcelLinks End With '------------------------
Pour mettre à jours tous les liens du classeur '------------------------- With ThisWorkbook Liens =. LinkSources(xlExcelLinks) For Each lelien In Liens .UpdateLink Name:=lelien, Type:=xlExcelLinks Next End With ' -- -- ------ -- ------ -- ----- En dernier lieu, Excel fait une différence entre les types de liens
A) xlLinkTypeOLELinks : Représente par exemple, le copier-coller avec liaison d'un texte de l'application Word.
B) XlLinkType : Représente les liens que l'on retrouve au niveau des formules dans les cellules, Plage nommée, et séries d'un graphe!
Pour mettre à jour un lien Ole, on utilise les mêmes procédures, mais avec cette constante xlLinkTypeOLELinks au lieu de xlExcelLinks
enfin, pour ceux qui possèdent une version un peu plus âgée (2000 et - ), ils ne peuvent compter que sur ce qui suit au sujet des mises à jour à l'ouverture du classeur : Application.AskToUpdateLinks = True impose à Excel de demander à l'utilisateur, à chaque ouverture d'un fichier possédant des liaisons, s'il souhaite mettre à jour ces liaisons.
Application.AskToUpdateLinks = False Excel va mettre à jour automatiquement les liaisons.
Et pour finir, qu'est-ce qui se passe si dans la même procédure, on utilise ceci qui par définition devrait être contradictoire : '---------------------------- With ThisWorkbook .UpdateLinks = xlUpdateLinksNever End With Application.AskToUpdateLinks = True ' -- -- -- ------ ------ ------ ---- ET bien, Excel ne demande rien à l'ouverture ! xlUpdateLinksNever a gagné.
Ce qui précède est valide pour les ouvertures de classeurs qui se ne font pas par macro. (double-clic dans l'explorateur Windows, Menu fichier/open/...
Par macro, il y a dans la méthode "Open" qui accepte un paramètre que l'on peut définir : Workbooks.Open Filename:=x, UpdateLinks:=True 'or fausse
Ce paramètre a préséance lorsqu'il est défini sur tous les autres paramètres dont il a été question dans ce texte. ______________________________________________________________________________________
isabelle
Correction : Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois l'application Excel pour que la modication soit effective. Application.AskToUpdateLinks = False
bonjour JJK94,
voici une réponse plus complète donner sur ce forum par MichDenis
La solution diffère selon la version d'Excel :
- sous Excel 2002 : ActiveWorkbook.UpdateLinks = xlUpdateLinksNever ou
xlUpdateLinksAlways
- Excel 97 : Application.AskToUpdateLinks = False ou true
Les 3 options suivantes, c'est ce que l'on retrouve dans la fenêtre
liaisons ( barre des menus / édition / liaisons / bouton de commande "Invite
de démarrage".
Elles sont présentes sauf erreur depuis la version 2002 d'excel.
nous amène à la fenêtre où l'on peut choisir l'une des options suivantes
1) ActiveWorkbook.UpdateLinks = xlUpdateLinksUserSetting
Laisser les utilisateurs choisir d'afficher ou non l'alerte
2) ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
Ne pas afficher l'alerte et ne pas mettre à jour...
3) ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways
Ne pas afficher l'alerte et mettre à jour
Ces mises à jour des données, selon l'option que l'on a choisie se font à
l'ouverture
du fichier seulement. Cependant, il est possible de forcer ces mises à jour
par
code à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on
peut
utiliser ceci :
'------------------------
With ThisWorkbook
.UpdateLink Name:=" C : AtravailClasseur1.xls", Type:=xlExcelLinks
End With
'------------------------
Pour mettre à jours tous les liens du classeur
'-------------------------
With ThisWorkbook
Liens =. LinkSources(xlExcelLinks)
For Each lelien In Liens
.UpdateLink Name:=lelien, Type:=xlExcelLinks
Next
End With
' -- -- ------ -- ------ -- -----
En dernier lieu, Excel fait une différence entre les types de liens
A) xlLinkTypeOLELinks : Représente par exemple, le copier-coller
avec liaison d'un texte de l'application Word.
B) XlLinkType : Représente les liens que l'on retrouve au niveau
des formules dans les cellules, Plage nommée, et
séries d'un graphe!
Pour mettre à jour un lien Ole, on utilise les mêmes procédures, mais
avec cette constante xlLinkTypeOLELinks au lieu de xlExcelLinks
enfin, pour ceux qui possèdent une version un peu plus âgée (2000 et - ),
ils ne peuvent compter que sur ce qui suit au sujet des mises à jour à
l'ouverture du classeur :
Application.AskToUpdateLinks = True
impose à Excel de demander à l'utilisateur,
à chaque ouverture d'un fichier possédant des liaisons, s'il
souhaite mettre à jour ces liaisons.
Application.AskToUpdateLinks = False
Excel va mettre à jour automatiquement les liaisons.
Et pour finir, qu'est-ce qui se passe si dans la même procédure,
on utilise ceci qui par définition devrait être contradictoire :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Ce qui précède est valide pour les ouvertures de classeurs qui se ne font
pas par macro.
(double-clic dans l'explorateur Windows, Menu fichier/open/...
Par macro, il y a dans la méthode "Open" qui accepte un paramètre que l'on
peut définir :
Workbooks.Open Filename:=x, UpdateLinks:=True 'or fausse
Ce paramètre a préséance lorsqu'il est défini sur tous les autres paramètres
dont il a été
question dans ce texte.
______________________________________________________________________________________
isabelle
Correction :
Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois
l'application Excel pour que la modication soit effective.
Application.AskToUpdateLinks = False
La solution diffère selon la version d'Excel : - sous Excel 2002 : ActiveWorkbook.UpdateLinks = xlUpdateLinksNever ou xlUpdateLinksAlways - Excel 97 : Application.AskToUpdateLinks = False ou true
Les 3 options suivantes, c'est ce que l'on retrouve dans la fenêtre liaisons ( barre des menus / édition / liaisons / bouton de commande "Invite de démarrage".
Elles sont présentes sauf erreur depuis la version 2002 d'excel.
nous amène à la fenêtre où l'on peut choisir l'une des options suivantes
1) ActiveWorkbook.UpdateLinks = xlUpdateLinksUserSetting Laisser les utilisateurs choisir d'afficher ou non l'alerte
2) ActiveWorkbook.UpdateLinks = xlUpdateLinksNever Ne pas afficher l'alerte et ne pas mettre à jour...
3) ActiveWorkbook.UpdateLinks = xlUpdateLinksAlways Ne pas afficher l'alerte et mettre à jour
Ces mises à jour des données, selon l'option que l'on a choisie se font à l'ouverture du fichier seulement. Cependant, il est possible de forcer ces mises à jour par code à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on peut utiliser ceci : '------------------------ With ThisWorkbook .UpdateLink Name:=" C : AtravailClasseur1.xls", Type:=xlExcelLinks End With '------------------------
Pour mettre à jours tous les liens du classeur '------------------------- With ThisWorkbook Liens =. LinkSources(xlExcelLinks) For Each lelien In Liens .UpdateLink Name:=lelien, Type:=xlExcelLinks Next End With ' -- -- ------ -- ------ -- ----- En dernier lieu, Excel fait une différence entre les types de liens
A) xlLinkTypeOLELinks : Représente par exemple, le copier-coller avec liaison d'un texte de l'application Word.
B) XlLinkType : Représente les liens que l'on retrouve au niveau des formules dans les cellules, Plage nommée, et séries d'un graphe!
Pour mettre à jour un lien Ole, on utilise les mêmes procédures, mais avec cette constante xlLinkTypeOLELinks au lieu de xlExcelLinks
enfin, pour ceux qui possèdent une version un peu plus âgée (2000 et - ), ils ne peuvent compter que sur ce qui suit au sujet des mises à jour à l'ouverture du classeur : Application.AskToUpdateLinks = True impose à Excel de demander à l'utilisateur, à chaque ouverture d'un fichier possédant des liaisons, s'il souhaite mettre à jour ces liaisons.
Application.AskToUpdateLinks = False Excel va mettre à jour automatiquement les liaisons.
Et pour finir, qu'est-ce qui se passe si dans la même procédure, on utilise ceci qui par définition devrait être contradictoire : '---------------------------- With ThisWorkbook .UpdateLinks = xlUpdateLinksNever End With Application.AskToUpdateLinks = True ' -- -- -- ------ ------ ------ ---- ET bien, Excel ne demande rien à l'ouverture ! xlUpdateLinksNever a gagné.
Ce qui précède est valide pour les ouvertures de classeurs qui se ne font pas par macro. (double-clic dans l'explorateur Windows, Menu fichier/open/...
Par macro, il y a dans la méthode "Open" qui accepte un paramètre que l'on peut définir : Workbooks.Open Filename:=x, UpdateLinks:=True 'or fausse
Ce paramètre a préséance lorsqu'il est défini sur tous les autres paramètres dont il a été question dans ce texte. ______________________________________________________________________________________
isabelle
Correction : Quand je change d'état , l'instruction ci-dessous , il faut réouvrir 2 fois l'application Excel pour que la modication soit effective. Application.AskToUpdateLinks = False