Erreur execution 9 - Indice n'appartient pas à la selection !

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

samimi94

XLDnaute Occasionnel
Bonsoir le forum,

J'ai un petit souci avec une macro que j'ai récupéré sur ce site de PierreJean que je ne parviens pas à appliquer chez moi suite à un code "erreur execution 9, l indice n'appartient pas à la sélection".
J'ai tout vérifié, le nom des feuilles qui sont correctes, le nom du fichier qui l'est également. Si quelqu'un à la solution je suis preneuse 🙂

Code:
Sub test()
'definir le classeur actuel
Set w1 = ActiveWorkbook
'definir le second classeur (doit etre ouvert)
Set w2 = Workbooks("Sorties.xls")
'definir la 1ere couleur
coul = 3
'pour chaque cellule de la colonne B du classeur actuel
For n = 2 To w1.Sheets("Feuil1").Range("B65536").End(xlUp).Row
'pour chaque ligne de la colonne B du classeur a controler
  For m = 2 To w2.Sheets("Feuil1").Range("B65536").End(xlUp).Row
' si le contenu de la colonne B du classeur actuel  est inclus dans la colonne B du second classeur alors
    If InStr(w2.Sheets("Feuil1").Range("B" & m), w1.Sheets("Feuil1").Range("B" & n)) <> 0 Then
'appliquer la couleur aux 2 cellules concernées
       w1.Sheets("Feuil1").Range("B" & n).Interior.ColorIndex = coul
       w2.Sheets("Feuil1").Range("B" & m).Interior.ColorIndex = coul
 'increment de la couleur
       coul = coul + 1
'si depassement revenir a la 1ere couleur
       If coul > 56 Then coul = 3
    End If
  Next m
Next n
End Sub

Par avance merci et bonne soirée à tous.

Samimi94.
 
Re : Erreur execution 9 - Indice n'appartient pas à la selection !

Bonsoir,

Essaye en remplaçant :
Code:
w1.Sheets("Feuil1")...

par :
Code:
w1.Worksheets("Feuil1")...

idem pour les w2

Mais je garantis rien (pas pu tester).

Autre piste :
Sur Excel 2003, il y a 56 couleurs d'où le : If coul > 56 Then coul = 3

Et sur Excel 2007??? S'il y en a moins, cela pourrait expliquer ton message d'erreur.

Pour t'en assurer, tu peux essayer en lançant cette macro :
Code:
Sub TestCouleur()

For i = 1 To 56
  Range("A" & i).Interior.ColorIndex = i
Next i
End Sub

Sur Excel 2003 elle fonctionne. Par contre si l'on remplace 56 par 57, évidement ça bug.

Remarque :
Si PierreJean a écrit cela dans son code :
Code:
Range("B65536").End(xlUp).Row
c'est parce qu'il travaillais sur une version excel comportant seulement 65536 lignes. Permettant ainsi de traiter jusqu'à la dernière ligne occupé.

Or comme tu utilise Excel 2007 et que ce logiciel compte 1 048 576 lignes il convient que tu écrive :
Code:
Range("B1048576").End(xlUp).Row
sinon ta macro risque d'oublier de traiter des lignes utilisées.

(mais je te rassure tout de suite, ton bug ne provient pas de là)
 
Re : Erreur execution 9 - Indice n'appartient pas à la selection !

Bonsoir le forum,

Merci pour vos réponses et surtout d' avoir pris du temps pour m aider.
Je n ai pas pu me connecter avant, désolée pour la réponse tardive.
Étant en déplacement je pourrai tester les conseils d' excel lent que demain et je vous dirai ce qu il en est.

Kjin j ai bien ouvert le second fichier avant d' exécuter la macro.
Pierrot, la ligne qui se met en erreur est :
Set w2 = Workbooks("Sorties.xls")
Merci encore pour votre aide.
Je reviens vous dire si le probleme est resolu des demain.

Bonne soirée a tous.
Samimi.
 
Re : Erreur execution 9 - Indice n'appartient pas à la selection !

Bonsoir à tous,

En effet Kjin tu as mis le doigt sur la cause de ce message d'erreur.
En fait j'ouvrais mes fichiers directement depuis l'explorateur Windows, suite à ta remarque, j'ai ouvert mon fichier Sortie.xls, puis j'ai ouvert le fichier Entrée.xls en passant par Excel directement via fichier ouvrir.
Et là bingo plus de message d'erreur d'execution.
Je n'aurai jamais trouvé seule.

Vous êtes super.

Excel-Lent merci à toi également, j'ai fais le test avec ton code pour la gestion des couleurs sous excel 2007 et ca a bien fonctionné. Et tes commentaires me permettent de mieux comprendre le raisonnement complexe des macros.

Je vous souhaite une bonne soirée et vraiment chapeau à toute la communauté.

Samimi.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
694
Retour