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 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
le code ne se comporte pas comme tu le souhaites?
que fait-il?
il n'a jamais fonctionné?-
-
Enfaite il m’actualise les données mais il me garde jamais le fichier ouvert ( pour la condition 2: si déjà ouvert alors fermer puis réouvrir ) et jai le message d’erreur ( votre fichier et déjà ouvert voulez vous le réouvrir ) que je ne veux pas qu’il s’affiche
Non je n’ai pas Option explicit en début de module -
cela me fait penser à cette discussion:
https://forums.commentcamarche.net/forum/affich-36885396-fonction-si-multiple-en-vba
ajouterOption explicit
peut t'aider à découvrir tes erreurs.
merci de montrer ton code complet. -
Oui je n’ai toujours pas résolu mon soucis depuis ce temps là... j’avais arrêté mes recherches
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 function -
-
-
J’ai de nouveau le debogage ligne 11 de ton code ...
T’es sur d’avoir le même code que moi car vbCrLf ça veut dire quoi ??
