Test liaison externe

Abel

XLDnaute Accro
Bonjour le forum,

C'est mon tour.

J'ai un fichier contenant des appels à des données externes (dans un autre fichier).

Mais dans ce tableau (où il y a les liaisons externes) certaines liaisons n'existent pas encore.
Ces liaisons existent au fur et à mesure de l'avancement dans l'année.

Evidemment, quand j'ouvre, il cherche la liaison. Ce que je ne souhaite pas.
J'ai essayé de tester la présence de ces données externes en faisant un test dans 'ThisWorkbook' avec une procédure dans 'Workbook_open'.
Ca marche .... sauf qu'il fait ce test après être passé sur les formules du tableau. Donc, ça ne sert pas à grand chose.
Pour info, je test la présence du fichier externe (if dir (chemin & fichier)='' then clearcontent).

J'ai essayé aussi dans la formule :

=si (esterreur (MaLiaison);'';(MaLiaison)) => peine perdue

ou

=si (type.erreur (MaLiaison)=4;'';(MaLiaison)) => ça marche ... mais après avoir demandé la liaison. Dommage ...

Il aurait-il moyen de faire ce test dans les formules ou de désactiver le formules le temps de faire le test en VB ?

Abel.
 

Creepy

XLDnaute Accro
Bonjour le Forum, Abel,

Je ne suis pas sûr d'avoir bien compris la question mais si j'ai bien compris tu veux que les formules ne s'executent pas à l'ouverture.

dans thisworkbook_open met ca :

Application.Calculation = xlManual
Calculate ' Si besoin de lancer le calcul

Après dans ta procedure tu remets en automatique

Application.Calculation = xlAutomatic

@+

Creepy
 

Abel

XLDnaute Accro
Re le forum, bonjour Creepy,

Oui, je voudrais que ces formules avec liaisons ne 's'appliquent' pas.

En fait, je souhaite éviter la boite 'Fichier non trouvé' qui s'ouvre si la référence extérieure n'existe pas à l'endroit spécifié.

Merci pour l'astuce. Je n'y avais pas pensé.
Malheureusement, il semble qu'Excel recherche les références externes avant de passer par 'workbook_open'.

Je viens d'essayer en désactivant le calcul automatique avant d'enregistrer. Mais pareil, il cherche quand même à mettre à jour ses liaisons externes.

Abel.
 

Abel

XLDnaute Accro
Re,

Bon, alors ...

Au final, je fais un truc tordu.

Je demande à mon utilisateur (ouf, il n'y en a qu'un) de ne pas mettre à jour les liaisons à l'ouverture.

Puis, par macro, je teste la présence des données exterieures.
Si elles sont présentes, je fais la mise à jour (uplink du lien pèché dans un tableau fabriqué avec 'ActiveWorkbook.LinkSources(xlExcelLinks)').
Si mes données externes n'existent pas, je ne demande pas de mise à jour.
Youpi ! Je n'ai plus la fenêtre 'Fichier non trouvé'.

Si vous avez des idées plus courtes (arf !) ....


Abel.
 

Abel

XLDnaute Accro
Re,

Bon, réduit, édulcoré, amenuisé, etc, il reste la pièce jointe.
J'ai laissé trainer une réf externe bidon pour l'exemple.

Abel.

Edition : pas de pj et personne dit rien ...

Message édité par: Abel, à: 10/10/2005 11:25
 
B

BreizRlio

Guest
Abel écrit:
Re,

Bon, réduit, édulcoré, amenuisé, etc, il reste la pièce jointe.
J'ai laissé trainer une réf externe bidon pour l'exemple.

Abel.

Edition : pas de pj et personne dit rien ...Message édité par: Abel, à: 10/10/2005 11:25
Bonsoir à tous :)

Je viens de voir ce thread et ta procédure m'intéresse Abel.

En effet dans mon fichier principal je fais appel à des données d'un fichier Xl du mois précédent. Cependant toutes les références n'existent pas encore. En effet elles peuvent être créées dans le mois en cours pour servir le mois suivant (ouf! :S ).
Enfin résultat, il me met un gros #REF! pour les données inexistantes qui m'indispose (le #REF pas les données :p ) au plus haut point!!!

Aussi,si tu pouvais mettre la pièce jointe dont tu parlais dans ton post, ça pourrait m'être utile.
Merci d'avance.
 

Discussions similaires

Réponses
13
Affichages
560

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel