Ajouter une condition a une macro

maurpheuss54 Messages postés 3 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 15 février 2005 - 28 janv. 2005 à 13:11
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 28 janv. 2005 à 14:09
j'expose mon soucis : j'ai creer deux fichier excel sur un reseau
le 1 er me sert de source
le 2 eme de recapitulatif donc de regroupement d'informations

pour les mettre en relation pas de probleme! link etc ...
j'ai crée une macro pour faire le lien entre les deux fichiers pour l'instant tout va bien !

sauf que si je lance la macro alors que le fichier 1 et ouvert sur le reseau, le programme me crée une copie du fichier sur le disque c:\ , et me modifie tout les liens du fichier 2 (recapitulatif), a chaque fois je suis obliger de déproteger les feuilles de faire le liens en manuelle et de changer la souce pour que les liens reviennent sur le reseau !

je voudrai inclure dans la macro de base une "condition" qui dit si le fichier 1 et ouvert je ne vais pas plus loin et je ne met pas a jour le fichier ! ( donc ne modifie rien)

voila ma macro de mise a jour du fichier recapitulatif :
Sub linkwr()
'
' linkwr Macro
' Macro recorded 01/01/2005 by moi'


'
Workbooks.Open Filename:= _
"H:\Documents and Settings\Mes documents\\EN PLACE SUR RESEAU \fichier1.xls"
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

j'espere avoir été clair ! merci pour toute l'aide que vous pourriez me donnez
j'apprécie vraiment de pouvoir exposer mes soucis a des connaisseur !!

je viens de faire des essais en ajoutant un if workbooks.activate etc etc ..
et les conditions ne sont pas bonne .
explications : que le fichier 1 soit ouvert ou fermé la macro se lit entierement
car le msgbox "fichier deja ouvert" apparait dans tout les cas !!

je vous suis trés reconnaissant de l'aide que vous pouvais m'apporter !

1 réponse

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
28 janv. 2005 à 14:09
Salut j'ai pas trop saisi mais tu peux essayer de cette manière
Dim Ouvert as Boolean
' On teste s'il est ouvert
Ouvert = workbooks.open etc .....
If Ouvert Then
Workbooks.Add etc .....
'~~ là ton code
End If

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
Rejoignez-nous