bloquer la mise de liaisons dans excel

Le
ttcpp
Bonjour,

Je mets à jour formules contenant des liaisons externes dans une feuille
excel via vba. Le problème c'est que j'en ai beaucoup. Et que à chaque fois
que je modifie la liaison ou la formule , Excel met à jour celle-ci.
J'aimerais modifier mes formules contenant les liaisons sans une mise à jour
systèmatique. Mais plutôt une mise à jour globale, une fois la macro finie.
J'ai essayé avec :
Workbooks.UpdateLinks = xlUpdateLinksNever (msg d'erreur : menbre de
méthode ou de données introuvable)

et ActiveWorkbook.UpdateRemoteReferences = False

Mais cela ne fonctionne pas.
Pour info, je suis sur Excel 2000

Merci pour votre aide

Thierry
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20471981
bonjour Thierry,

mets ceci au début de la macro :
Application.Calculation = xlManual

et la fin :
Application.Calculation = xlAutomatic

isabelle

ttcpp a écrit :
Bonjour,

Je mets à jour formules contenant des liaisons externes dans une feuille
excel via vba. Le problème c'est que j'en ai beaucoup. Et que à chaque fois
que je modifie la liaison ou la formule , Excel met à jour celle-ci.
J'aimerais modifier mes formules contenant les liaisons sans une mise à jour
systèmatique. Mais plutôt une mise à jour globale, une fois la macro finie.
J'ai essayé avec :
Workbooks.UpdateLinks = xlUpdateLinksNever (msg d'erreur : menbre de
méthode ou de données introuvable)

et ActiveWorkbook.UpdateRemoteReferences = False

Mais cela ne fonctionne pas.
Pour info, je suis sur Excel 2000

Merci pour votre aide

Thierry





michdenis
Le #20472081
Bonjour,

De mémoire,
Sous Excel 2000, à moins qu'Excel soit en MODE DE CALCUL MANUEL, les
liaisons sont mises à jour à l'ouverture du classeur et automatiquement si
des modifications sont apportées au classeur source en cours de travail.

L'usage de ceci :
ActiveWorkbook.UpdateLinks = xlUpdateLinksUserSetting
Laisse les utilisateurs choisir d'afficher ou non l'alerte

à partir d'excel 2002, tu peux utiliser ceci :
Workbooks.UpdateLinks = xlUpdateLinksNever
mais ce n'est pas disponible en Version Excel 2000

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
' -- -- ------ -- ------ -- -----

Pour arriver à ce que tu désires, passe ton classeur en mode de calcul
manuel,
modifie toutes tes liaisons à l'aide de ta procédure
passe en mode de calcul automatique
et utilise le bout de code soumis pour mettre à jour toutes tes liaisons.



"ttcpp"
Bonjour,

Je mets à jour formules contenant des liaisons externes dans une feuille
excel via vba. Le problème c'est que j'en ai beaucoup. Et que à chaque
fois
que je modifie la liaison ou la formule , Excel met à jour celle-ci.
J'aimerais modifier mes formules contenant les liaisons sans une mise à
jour
systèmatique. Mais plutôt une mise à jour globale, une fois la macro
finie.
J'ai essayé avec :
Workbooks.UpdateLinks = xlUpdateLinksNever (msg d'erreur : menbre de
méthode ou de données introuvable)

et ActiveWorkbook.UpdateRemoteReferences = False

Mais cela ne fonctionne pas.
Pour info, je suis sur Excel 2000

Merci pour votre aide

Thierry




ttcpp
Le #20475631
Merci à Isabelle et michdenis pour réponse.
J'ai forcé le calcul en manuel mais cela ne change pas grand chose.
L'idéal serait de changer de version d'Excel mais ce n'est pas dans l'air du
temps.;)


"michdenis" wrote:

Bonjour,

De mémoire,
Sous Excel 2000, à moins qu'Excel soit en MODE DE CALCUL MANUEL, les
liaisons sont mises à jour à l'ouverture du classeur et automatiquement si
des modifications sont apportées au classeur source en cours de travail.

L'usage de ceci :
ActiveWorkbook.UpdateLinks = xlUpdateLinksUserSetting
Laisse les utilisateurs choisir d'afficher ou non l'alerte

à partir d'excel 2002, tu peux utiliser ceci :
Workbooks.UpdateLinks = xlUpdateLinksNever
mais ce n'est pas disponible en Version Excel 2000

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
' -- -- ------ -- ------ -- -----

Pour arriver à ce que tu désires, passe ton classeur en mode de calcul
manuel,
modifie toutes tes liaisons à l'aide de ta procédure
passe en mode de calcul automatique
et utilise le bout de code soumis pour mettre à jour toutes tes liaisons.



"ttcpp"
> Bonjour,
>
> Je mets à jour formules contenant des liaisons externes dans une feuille
> excel via vba. Le problème c'est que j'en ai beaucoup. Et que à chaque
> fois
> que je modifie la liaison ou la formule , Excel met à jour celle-ci.
> J'aimerais modifier mes formules contenant les liaisons sans une mise à
> jour
> systèmatique. Mais plutôt une mise à jour globale, une fois la macro
> finie.
> J'ai essayé avec :
> Workbooks.UpdateLinks = xlUpdateLinksNever (msg d'erreur : menbre de
> méthode ou de données introuvable)
>
> et ActiveWorkbook.UpdateRemoteReferences = False
>
> Mais cela ne fonctionne pas.
> Pour info, je suis sur Excel 2000
>
> Merci pour votre aide
>
> Thierry
>
>


.



Publicité
Poster une réponse
Anonyme