Workbooks.Close : l'indice n'appartient pas à la

Bonjour

J'ai un classeur Excel qui contient une macro, enregistré sur un serveur. Une vingtaine de PC l'utilise sans problème.

Depuis quelques jours, un des utilisateurs a un problème (les autres l'utilisent sans problème), la macro plantant sur la ligne :

Workbooks("Base de données").Close True

L'erreur signalée étant : Erreur d'exécution '9': L'indice n'appartient pas à la sélection.

Le Classeur "Base de données" est un autre classeur ouvert dans le début de la macro.

Si j'ajoute ces lignes juste avant la ligne qui plante :

For i = 1 To Workbooks.Count 
ActiveSheet.Cells(i, 1) = Workbooks(i).Name 
Next i

le classeur "Base de données.xlsx" est bien signalé ouvert.

Il s'agit de Excel 2010 32bit, installé sur Windows 7 32 bit.

Quels réglages d'Excel / Windows ont pu être modifiés ?

Merci par avance pour votre aide.

Marc

Bonjour,

En ajoutant l'extension du classeur peut-être ?

Workbooks("Base de données.xlsx").Close True

Bonjour oyobrans

Merci pour ta réponse, mais j'ai oublié de préciser un point :

- la macro est dans un fichier modèle qui génère d'autres fichiers, avec les même macro, et on est actuellement à plus de 2.000 fichiers ;

Du coup j'aimerais plutôt trouver ce qui a changé dans Excel/Windows/? pour le remettre à la valeur initiale, et lui permettre d'ouvrir n'importe quel fichier avec les macro, plutôt que de modifier le script.

Marc

Bonjour,

En faisant abstraction du libellé de l'erreur il n'y aurait pas un problème de droit en écriture dans le répertoire ?

eric

Le problème vient d'être résolu : c'était l'activation de l'affichage des extensions des fichiers dans l'Explorateur des fichiers qui faisait planter la macro.

Merci à vous.

Marc

Rechercher des sujets similaires à "workbooks close indice appartient pas"