Erreur d'execution '9'

droopy89

XLDnaute Junior
Bonjour
encore un peu d'aide de votre part
J'ai crée une macro sur mon PC familiale avec une version d'excel 2003 elle marche très bien sur celui ci. le même fichier mis sur mon poste dans mon entreprise avec une version d'excel 2002 me met le message d'erreur " erreur d'execution 9 l'indice n'appartient pas à la sélection. lors du débogage seul mes déclarations sont surlignés en jaune
exemple : set CP = workbooks("nomdeclasseur").sheets("feuil1")
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Erreur d'execution '9'

Bonsoir Droopy, bonsoir le forum,

Difficile sans avoir le code en entier !
Je pense que le classeur auquel se réfère nomdeclasseur, dans le bout de code que tu daignes nous donner, n'est pas ouvert au moment de définir la variable CP
Code:
set CP = workbooks("nomdeclasseur").sheets("feuil1")
Comment l'as tu déclarée cette variable ?
Code:
Dim CP As WorkSheet
et ce nomdeclasseur ? c'est aussi une variable ?

Nous ne pouront d'aider davantange que si tu fais l'effort de nous en dire davantage toi aussi...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Erreur d'execution '9'

Bonsoir Droopy, bonsoir le forum,

Ben tu vois quand tu veux...
Bon, ce qui m'étonne c'est que tu dises que la même macro marche sur Excel 2003 et pas sur Excel 2002. Je tourne avec Excel 2003 et ça a planté de suite. Ton classeur ne s'appelle pas FNCEssai mais FNCEssai.xls. Je n'ai pas fait tourné tout le code mais cette partie modifiée ne plante plus :
Code:
Set CP = Workbooks("FNCEssai.xls").Sheets("Compilation")
Set FE = Workbooks("FNCEssai.xls").Sheets("Fiche")
    For i = 5 To Workbooks("FNCEssai.xls").Sheets("Compilation").Range("A5").End(xlDown).Row
        If CP.Cells(i, 1) = FE.Range("T2") Then
D'ailleurs puisque tu te trouves dans le propre fichier tu n'as pas besoin de le spécifier dans le code. Ça marchera tout aussi bien comme ça :
Code:
Set CP = Sheets("Compilation")
Set FE = Sheets("Fiche")
    For i = 5 To Sheets("Compilation").Range("A5").End(xlDown).Row
        If CP.Cells(i, 1) = FE.Range("T2") Then
 

Discussions similaires

Statistiques des forums

Discussions
312 246
Messages
2 086 573
Membres
103 247
dernier inscrit
bottxok