Message d'erreur entrée/sortie de périphérique sous Excel VBA

mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017 - 26 mai 2007 à 01:27
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017 - 29 mai 2007 à 00:15
J'ai un programme Excel VBA qui récupère des données à partir d'une version précédente du même programme.Lorsque le code ferme le workbook qui a servi à transférer les données, j'obtiens ce message, qu'il me faut fermer plusieurs fois avant qu'il disparaisse.
Ceci semble dû au fait que le programme VBE du workbook ne se ferme pas en même temps que le workbook. Les VBE portent des noms différents.
Quelqu'un peut-il me renseigner sur ce qu'il faut faire?

mimizanzan

4 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
26 mai 2007 à 03:24
D'une part, on ne voit pas LE message...
D'autre part, tu dis que tu transfères des données d'un programme à l'autre. Sont-ce des données uniquement ou des formules ? Est-ce que tu fais un copier/coller des feuilles ?
Et qu'est-ce que tu entends par "les VBE portent des noms différents" ?

MPi
0
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
26 mai 2007 à 17:13
Le message est " Erreur entrée/sortie de périphérique".
 Je transfère des données par copie-coller des feuilles d'un classeur à l'autre.
Quand tu as un code VBA, dans la fenêtre Explorateur de projets, tu as un nom défini par défaut à ton projet qui est "VBAProject", et que tu peux changer à ta guise. Quand 2 classeurs sont amenés à être ouverts ensemble, il est conseillé de donner un nom spécifique à chacun des projets, ce que j'ai fait.
Le message apparait après fermeture du classeur source. Le classeur se ferme, mais pas le projet VBA, ce qui produit l'erreur.
Est-ce plus clair maintenant?
Merci de ton aide éventuelle.

mimizanzan
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 21
28 mai 2007 à 11:38
Hummm, non, pas vraiment plus clair... surtout à cause du message que je n'ai jamais rencontré.

Peux-tu mettre le bout de ton code qui ouvre et renomme les classeurs ?

MPi
0
mimiZanzan Messages postés 301 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 décembre 2017
29 mai 2007 à 00:15
Voici la partie du code qui ouvre et ferme le fichier.

Dim wI As Workbook, wN As Workbook
Set wN=Workbooks(fichActuel)    'fichActuel contient le code
Workbooks.Open Filename:=fichImp    'nom du fichier
Set wI = Workbooks(fichImp)     'Fichier importé
'Transfert données par copie coller du classeur ouvert  wI vers le
'classeur actuel wN
wI.Close SaveChanges:=False 'ferme le fichier importé sans le changer
Et c'est là que la partie VBAProject du workbook wI (qui est semblable à celle de fichActuel) ne se ferme pas et déclenche le message qui bloque l'application.
J'arrive à reprendre la main après avoir fermé plusieurs fois ce message.
Voilà, çà te parle?!

mimizanzan
0