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")
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...
bonsoir
le classeur est ouvert mon probleme est que la macro fonctionne sous excel 2003 mais pas sous excel 2002
sous excel 2002 ce sont mes variables qui apparament pose problème
Merci
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