Problème VBA (code erreur 9)

Fermé
Rémi - 4 janv. 2017 à 13:24
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 5 janv. 2017 à 13:12
Bonjour,

Suite à la création d'un fichier de suivi de personnel sous Excel, avec diverse macro de recherche de personnel, filtrage, etc., un des collègues de mon bureau (et lui seul), lors de l'utilisation du fichier, déclenche le code erreur 9, souvent lié à la ligne comprenant :

Workbooks("***** *****").Activate


Petite info : la plupart des chemins d'accès utilisés dans le code commençait par "T:". Je l'ai ai tous changé lorsque j'ai remarqué que ce même collègue n'avait pas ce chemin mais seulement le passage par réseau. Mais je ne pense pas que le chemin d'accès y soit pour quelque chose.

D'avance, merci.

Rémi.
A voir également:

4 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
4 janv. 2017 à 17:47
Bonjour,

Est-ce que lorsque l'erreur survient le fichier à activer est ouvert ?
0
Utilisateur anonyme
4 janv. 2017 à 17:53
Bonjour Rémi,
Je pense que tu dois indiquer le chemin complet
du fichier réseau utilisé par ton collègue.  :)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
4 janv. 2017 à 18:03
Bonjour albkan,

Non, au contraire le nom complet provoque l'erreur 9 !
0
Utilisateur anonyme > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
4 janv. 2017 à 18:15
Bonjour Patrice,
Je voulais dire d'utiliser le chemin complet pour l'ouverture du fichier.
Ensuite, une fois ouvert, c'est donc le classeur actif ; et si Rémi va sur
un autre classeur ouvert, il faut effectivement utiliser Activate en
mettant uniquement le nom du classeur (sans le chemin).  :)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
4 janv. 2017 à 18:20
Ce qui provoque l'erreur c'est que le classeur désigné n'est pas ouvert !
0
Utilisateur anonyme > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
4 janv. 2017 à 18:24
Oui, c'est pourquoi la 1ère phrase de mon message précédent indique
à Rémi qu'il doit ouvrir son classeur en indiquant le chemin complet.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
4 janv. 2017 à 18:29
Il y aurait alors un message d'erreur au moment de l'ouverture du fichier !
0
yg_be Messages postés 23439 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 janvier 2025 Ambassadeur 1 559
5 janv. 2017 à 10:03
Pourquoi faire Workbooks.("...").Activate si tu n'as qu'un seul WorkBook ouvert?
Peut-être faire ThisWorkbook.Activate, si tu veux vraiment faire Activate.
0
Car il arrive qu'on travaille avec plusieurs classeurs ouverts, et ça crée des interférences, faisant buggé le programme...
0
yg_be Messages postés 23439 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 janvier 2025 1 559
5 janv. 2017 à 10:15
Je suggère alors
ThisWorkbook.Activate

Ce serait beaucoup mieux d'assainir le code VBA et de supprimer tous les Activate. SI tu montres des extraits de ton code, nous pourrons probablement te conseiller.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
5 janv. 2017 à 13:12
« Car il arrive qu'on travaille avec plusieurs classeurs ouverts, et ça crée des interférences, faisant buggé le programme...»

C'est pas les classeurs ouverts qui posent problème mais l'écriture du code qui ne tient pas compte de cette éventualité !

Comme le dit yg_be (Bonjour et Bonne Année) il faut revoir ton code et l'assainir.
0