Fermer un fichier Excel mode de Compatibilité
Résolu/Fermé
A voir également:
- Fermer un fichier Excel mode de Compatibilité
- Fichier rar - Guide
- Liste déroulante excel - Guide
- God mode - Guide
- Fichier host - Guide
- Fichier iso - Guide
2 réponses
Utilisateur anonyme
Modifié par albkan le 21/08/2016 à 15:06
Modifié par albkan le 21/08/2016 à 15:06
Bonjour Phil.ch,
L'erreur d'exécution #9 : « L'indice n'appartient pas à la sélection »
se produit lorsque l'indice d'un tableau est en dehors des limites
de ce tableau ; exemple : Dim Tbl(5) avec Option Base 1 =>
erreur #9 si tu utilises Tbl(0) ou Tbl(10).
Cette erreur #9 peut aussi se produire si tu essayes de référencer
un élément qui ne fait pas partie d'une collection. Exemple :
Worksheets(6) quand il n'y a que 5 feuilles de calcul ;
Worksheets("Juin") quand la feuille "Juin" n'existe pas ;
Workbooks("ABC") quand le classeur "ABC" n'est pas
chargé en mémoire vive (RAM).
Et n'oublies pas que pour ouvrir un fichier, il faut préciser son
chemin (sauf si dans répertoire en cours) et son extension :
*.xlsx ou *.xlsm
Mais difficile d'en dire plus sans voir ton code !
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
L'erreur d'exécution #9 : « L'indice n'appartient pas à la sélection »
se produit lorsque l'indice d'un tableau est en dehors des limites
de ce tableau ; exemple : Dim Tbl(5) avec Option Base 1 =>
erreur #9 si tu utilises Tbl(0) ou Tbl(10).
Cette erreur #9 peut aussi se produire si tu essayes de référencer
un élément qui ne fait pas partie d'une collection. Exemple :
Worksheets(6) quand il n'y a que 5 feuilles de calcul ;
Worksheets("Juin") quand la feuille "Juin" n'existe pas ;
Workbooks("ABC") quand le classeur "ABC" n'est pas
chargé en mémoire vive (RAM).
Et n'oublies pas que pour ouvrir un fichier, il faut préciser son
chemin (sauf si dans répertoire en cours) et son extension :
*.xlsx ou *.xlsm
Mais difficile d'en dire plus sans voir ton code !
Si ton problème est réglé, merci d'aller en haut de page
pour cliquer sur « Marquer comme résolu ».
Cordialement. 😊
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
22 août 2016 à 09:07
22 août 2016 à 09:07
Bonjour,
Lorsque l'on fait, comme cela, des "allers-retours" entre plusieurs classeurs, il vaut toujours mieux les référencer dans des variables Objets. Comme ceci :
Lorsque l'on fait, comme cela, des "allers-retours" entre plusieurs classeurs, il vaut toujours mieux les référencer dans des variables Objets. Comme ceci :
Dim wbkSource As Workbook, wbkDest As Workbook Set wbkDest = ThisWorkbook Set wbkSource = Workbooks.Open(NomComp) 'Ainsi après tu peux utiliser ces variables : With wbkSource End With With wbkDest End With
Modifié par pijaku le 22/08/2016 à 09:02
Un grand merci pour ton explication. Elle est claire et j'ai bien compris. Par contre, ce que je ne comprends pas c'est pourquoi elle vient.
J'ouvre le fichier sans problème, je copie et reporte sans soucis avec ce qui suit :
PS : tu l'as constaté, je bricole .... C'est surement pas fait dans les règles ni dans la simplicité, mais si tu peux tout de même m'aider.... Je t'en, ou vous, en serai reconnaissant.
Avec mes remerciements
Modifié par albkan le 21/08/2016 à 18:42
Rebonjour Phil.ch,
Tu peux me tutoyer ; mon explication vient car dans ton message initial,
tu as écris que tu avais cette erreur :
« Erreur d'exécution : 9 , L'indice n'appartient pas à la sélection. »
--------------------------------------------------------
Voici d'abord une simplification de la première partie de ton code VBA :
Ça sera beaucoup plus court si tu enlèves tous les commentaires ajoutés
à ton intention et qui ne serviront plus après que tu les aies lus. Vérifie
d'abord que ce code VBA marche bien et te donne le résultat attendu,
puis dis-moi ce que tu en penses. 😉
--------------------------------------------------------
Pour ce que tu as mis à la fin de ton message, je suppose que c'est
ta 1ère ligne qui coince : Windows(NomFi).Activate
Je pense que c'est parce que NomFi comporte l'extension de fichier,
et que ça marchera sans cette extension ; donc à toi de l'enlever,
mais seulement pour cette instruction.
Je pourrais facilement le vérifier avec ton vrai fichier, mais sans,
je n'en suis pas sûr (et je n'ai pas envie de créer un fichier de
simulation juste pour ça) ; donc je te laisse essayer...
À te lire. 😊
24 août 2016 à 23:19
Un grand GRAND MERCI. Tes explications sont nickel et de qualitées. Tu as été plus rapide que moi, je m'en excuse. J'ai fait autre chose. J'ai suivi tes conseils, modifié comme tu me l'as suggéré. Ca marche. Mon problème est résolu.
Je te suis reconnaissant de ton aide, du temps que tu as pris pour me lire, me répondre et me conseiller.
Albkan, meilleures salutations.
Amicalement.
:-)