Problème vba
Résolu
Akatsucki
Messages postés
94
Statut
Membre
-
Akatsucki Messages postés 94 Statut Membre -
Akatsucki Messages postés 94 Statut Membre -
Bonjour,
Je bloque sur mon code VBA qui ne réponds pas à ma demande ...
Je cherche à actualiser mes données on ouvrant un fichier (si pas déjà ouvert), puis le refermer
OU si déjà ouvert, le fermer et le réouvrir pour mettre à jours les nouvelles donnée
Pouvais voir ou est mon erreur...

Je sais qu’une photo n’est pas très acceptable pour m’aider mais la macro ce trouve sur le fichier de mon entreprise et il est interdit d’utiliser internet
Akatsucki
Je bloque sur mon code VBA qui ne réponds pas à ma demande ...
Je cherche à actualiser mes données on ouvrant un fichier (si pas déjà ouvert), puis le refermer
OU si déjà ouvert, le fermer et le réouvrir pour mettre à jours les nouvelles donnée
Pouvais voir ou est mon erreur...

Je sais qu’une photo n’est pas très acceptable pour m’aider mais la macro ce trouve sur le fichier de mon entreprise et il est interdit d’utiliser internet
Akatsucki
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
le code ne se comporte pas comme tu le souhaites?
que fait-il?
il n'a jamais fonctionné?
le code ne se comporte pas comme tu le souhaites?
que fait-il?
il n'a jamais fonctionné?

merci de montrer ton code complet.
Non je n’ai pas Option explicit en début de module
https://forums.commentcamarche.net/forum/affich-36885396-fonction-si-multiple-en-vba
ajouter peut t'aider à découvrir tes erreurs.
merci de montrer ton code complet.
Voici mon code : (J’ai taper à la main lol )
Sub actualité Application.screenupdating = false Application.enableevents = false Dim classeur as worbook, chemin as string, gardeouvert as boolean Select case thisworkbook.sheets("ACCUEIL").range("k20") Case "poste 1" Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P1 pour P2.xlsm" Case "poste 2" Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P2 pour P3.xlsm" Case "poste 3" Chemin = "Q:\deptprod\confection bu\production\commun conf\programme P3 pour P1.xlsm" End select 'Si classeur ouvert, alors fermer puis reouvrir ( pblm msg erreur fichier déjà ouvert ?? If classeurouvert then Classeurouvert.close savechanges:= false Gardeouvert = true Else Gardeouvert = false End if 'Si classeur fermé, alors ouvrir puis refermer (sans sauvegarde) Set classeur = workbooks.open(filename:=chemin, readonly:=1, updatelinks:=0) Thisworkbook.refreshall If not gardeouvert then Classeur.close savechanges:= false End if Application.screenupdating = true Application.enableevents = true End sub Private function dejaouvert (chemin) Dim wb as workbook For each wb un workbooks If wb.fullname = chemin then Set dejaouvert = wb Exit function End if Next wb Classeurouvert = false End functions'il s'agit du même problème qu'avant, plutôt que de recommencer avec ce nouveau code, je suggère de continuer avec l'ancien code, que me semble plus prometteur.