OVH Cloud OVH Cloud

erreur d'exécution '9' avec la fonction Windows(nom_fichier.xls).Activate

5 réponses
Avatar
thomasya
bonjour tout le monde,

Je voudrai savoir comment éviter les erreurs d'excution lorsque j'utilise la
fonction :
Windows(nom_fichier.xls).Activate
car si le fichier "nom_fichier.xls" n'est pas ouvert, alors j'ai une erreur
: "erreur d'exécution '9' l'indice n'appartient pas à la sélection."

merci d'avance de votre aide
Yannick

5 réponses

Avatar
Nävis
plusieurs petites choses possibles, car ta question n'est
pas tres claire

-> penser a ne pas oublier les guillemets dans le code
pour l'appels de fichiers et de feuilles de calculs
EX: workbooks("fichier.xls").activate


->pour activer une fenêtre, il est recommandé d'avoir
ouvert le fichier avant:
attention, ici aussi les guillemets sont obligatoires

ChDir "C:repertoirerepertoirerepertoire" 'direction

Workbooks.Open Filename:= _ 'le fichier
"C:repertoirerepertoirefichier.xls"

ensuite tu peux normalement activer ta fenêtre

-> parfois tu peux aussi varier avec la fonction select à
la place de activate

bon courage @+

Nävis
Avatar
thomasya
En fait mon probleme n'est pas le fait d'ouvrir un fichier par une macro,
mais tout simplement je ne veux pas qu'il y est d'erreur d'exécution si
l'utilisateur de la macro oublie d'ouvrir le fichier avant de lancer ma
macro suivante :

Private Sub CommandButton2_Click()
fichier = InputBox("Nom du Fichier d'Origine : ", "") + ".xls"
If fichier_stat = ".xls" Then Exit Sub

Windows(fichier_stat).Activate
Sheets("General").Select
End Sub


"Nävis" a écrit dans le message de news:
0e4201c34d32$015fb960$
plusieurs petites choses possibles, car ta question n'est
pas tres claire

-> penser a ne pas oublier les guillemets dans le code
pour l'appels de fichiers et de feuilles de calculs
EX: workbooks("fichier.xls").activate


->pour activer une fenêtre, il est recommandé d'avoir
ouvert le fichier avant:
attention, ici aussi les guillemets sont obligatoires

ChDir "C:repertoirerepertoirerepertoire" 'direction

Workbooks.Open Filename:= _ 'le fichier
"C:repertoirerepertoirefichier.xls"

ensuite tu peux normalement activer ta fenêtre

-> parfois tu peux aussi varier avec la fonction select à
la place de activate

bon courage @+

Nävis
Avatar
AV
On Error Resume Next
Windows("nom_fichier.xls").Activate
If Err.Number <> 0 Then Exit Sub
.... la suite des instructions

AV

"thomasya" a écrit dans le message news:
#BGvW$
bonjour tout le monde,

Je voudrai savoir comment éviter les erreurs d'excution lorsque j'utilise la
fonction :
Windows(nom_fichier.xls).Activate
car si le fichier "nom_fichier.xls" n'est pas ouvert, alors j'ai une erreur
: "erreur d'exécution '9' l'indice n'appartient pas à la sélection."

merci d'avance de votre aide
Yannick




Avatar
thomasya
merci ca marche Nickel
Yannick

"AV" a écrit dans le message de news:
#
On Error Resume Next
Windows("nom_fichier.xls").Activate
If Err.Number <> 0 Then Exit Sub
.... la suite des instructions

AV

"thomasya" a écrit dans le message news:
#BGvW$
bonjour tout le monde,

Je voudrai savoir comment éviter les erreurs d'excution lorsque
j'utilise la


fonction :
Windows(nom_fichier.xls).Activate
car si le fichier "nom_fichier.xls" n'est pas ouvert, alors j'ai une
erreur


: "erreur d'exécution '9' l'indice n'appartient pas à la sélection."

merci d'avance de votre aide
Yannick








Avatar
thomasya
Merci ca marche nickel.
Pour info mon code d'origine était :

fichier_stat = InputBox("Nom du Fichier d'Origine : ", "") + ".xls"

et non (probleme de copié collé)
fichier = InputBox("Nom du Fichier d'Origine : ", "") + ".xls"

encore merci


"FxM" a écrit dans le message de news:

Bonsoir,

(infos ci-dessous non testées)

En fait mon probleme n'est pas le fait d'ouvrir un fichier par une
macro, mais tout simplement je ne veux pas qu'il y est d'erreur

d'exécution si l'utilisateur de la macro oublie d'ouvrir le fichier
avant de lancer ma macro <snip>

Comme ce n'est pas explicitement écrit, je suppose que tu t'attends à ce
que fichier_stat soit préalablement ouvert.


Windows(fichier_stat).Activate
Si fichier_stat est le nom de ton fichier, il manque peut-être deux

guillemets. Teste :
Windows("fichier_stat").Activate
Windows("fichier_stat.xls").Activate
Si fichier_stat est une variable contenant le nom du fichier, ca peut

être bon (ça dépend de ce qu'il y a dans la variable).



fichier = InputBox("Nom du Fichier d'Origine : ", "") + ".xls"
A priori, fichier est une chaîne. Donc &, pas +

fichier = InputBox("Nom du Fichier d'Origine : ", "") & ".xls"




Pour vérifier si le fichier est ouvert, tu peux récupérer l'erreur :
Private Sub CommandButton2_Click()
fichier = InputBox("Nom du Fichier d'Origine : ", "") & ".xls"
If fichier_stat = ".xls" Then Exit Sub
on error resume next
Windows(fichier_stat).Activate
if err <> 0 then err=0: msgbox "Fichier non ouvert !!": exit sub

Sheets("General").Select
End Sub


@+
FxM