Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43b939b9$1@news.sncf.fr...
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43b939b9$1@news.sncf.fr...
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" a écrit dans le message de news:
43bab198$
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" a écrit dans le message de
news:Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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'ouverturedu fichier seulement. Cependant, il est possible de forcer ces mises à
jour parcode à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on
peututiliser 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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuventpas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
àleur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43bab198$1@news.sncf.fr...
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OucjhaBEGHA.1124@TK2MSFTNGP10.phx.gbl...
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43b939b9$1@news.sncf.fr...
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" a écrit dans le message de news:
43bab198$
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" a écrit dans le message de
news:Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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'ouverturedu fichier seulement. Cependant, il est possible de forcer ces mises à
jour parcode à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on
peututiliser 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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuventpas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
àleur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" a écrit dans le message de news:
43bab198$
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" a écrit dans le message de
news:Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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'ouverturedu fichier seulement. Cependant, il est possible de forcer ces mises à
jour parcode à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on
peututiliser 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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuventpas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
àleur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43bab198$1@news.sncf.fr...
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OucjhaBEGHA.1124@TK2MSFTNGP10.phx.gbl...
Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuvent
pas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" <nospam@ihatespam.com> a écrit dans le message de news:
43b939b9$1@news.sncf.fr...
Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour
?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
à
leur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !
Bonjour myname,
Dans l'explication que j'ai commise, je fais appel à ce test :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksNever
End With
Application.AskToUpdateLinks = True
' -- -- -- ------ ------ ------ ----
ET bien, Excel ne demande rien à l'ouverture !
xlUpdateLinksNever a gagné.
Mais dans le cas où :
'----------------------------
With ThisWorkbook
.UpdateLinks = xlUpdateLinksAlways
End With
Tu dois placer la valeur de cette affirmation à False
pour obtenir l'effet désiré.
Application.AskToUpdateLinks = False
Tu peux le faire à partir des options du fichier aussi :
Barre des menus / outils / options / onglet modification /
Et tu décoches :
Confirmation de la mise à jour des liens.
Salutations!
"myname" a écrit dans le message de news:
43bab198$
Bonjour et merci beaucoup pour cette réponse très complète !
Petit souci néanmoins (Excel 2002) :
- quand je précise "ne pas afficher l'alerte et ne pas mettre à jour",
tout
va bien.
- quand je précise "ne pas afficher l'alerte et mettre à jour", l'alerte
s'affiche quand même !
Aurait-ce un lien avec les paramètres de sécurité ?
"michdenis" a écrit dans le message de
news:Bonjour myname,
Voici une réponse que j'ai déjà formulé sur le sujet parue sur ce groupe
de discussion :
| Q1) Peut-on désactiver cette question ?
Explications sur la mise à jour des liens avec un autre classeur
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'ouverturedu fichier seulement. Cependant, il est possible de forcer ces mises à
jour parcode à n'importe quel moment.
Pour mettre à jour les données avec un fichier source bien identifié, on
peututiliser 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.
| Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs| niveaux d'imbrication ?
Je n'ai pas vraiment saisi la question... mais ce type de mise à jour ne
peuventpas s'effectuer si le classeur est fermé.
| Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ?
L'événement sur ouverture du fichier dans le ThisWorkbook
Private Sub Workbook_Open()
'Le code à exécuter
End Sub
Salutations!
"myname" a écrit dans le message de news:
43b939b9$Bonjour,
à l'ouverture d'un classeur contenant des liens, la question "Mettre à
jour?" est posée.
Q1) Peut-on désactiver cette question ?
Cette mise à jour se fait sur un niveau, c'est-à-dire qu'elle va
chercher
des informations dans les fichiers liés directement. Ceux-ci peuvent
être
àleur tour liés, etc, mais Excel ne demande pas leur mise à jour.
Q2) Y a-t-il un moyen de forcer la remontée des informations sur
plusieurs
niveaux d'imbrication ?
(j'ai une macro qui ouvre tous les fichiers en arrière-plan, mais il
faut
connaître leurs noms...)
Q3) Peut-on exécuter une macro à l'ouverture d'un classeur ? (je pense
notamment à cette macro de MAJ)
Merci !