Erreur n°9 VBA

Bonjour à tous,

Debutant avec les macros j'ai utilisé l'outil enregistrer une macro au lieu de la coder à la main.

Le principe : faire une recherchev d'une valeur dans un autre classeur. Pas de souci particulier sur ce point la tout marche bien (la recherchev retourne le bon résultat) et quand j'ai "run" la macro ça marchait très bien. Depuis j'ai fermé les deux fichiers, maintenant que j'ai réouvert le fichier avec la macro et que la "run" j'ai le message d'erreur n°9 "l'indice n'appartient pas à la selection".

Quand je clique sur débugage voila ce que j'obtiens (le bug en vert surligné)

Sub SC_Ani_Recap_PDV()

'

' SC_Ani_Recap_PDV Macro

'

'

Windows("Data SC Ani YTD.xlsx [Enregistré par l'utilisateur]").Activate

Application.CutCopyMode = False

Selection.Copy

Windows("SC Ani Mai 15 macro.xlsm").Activate

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Range("C8").Select

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = _

"=VLOOKUP(RC2,'[Data SC Ani YTD.xlsx]Data'!C1:C7,7,FALSE)"

Etc... J'ai pas mis le reste de la macro puisque le début ne marche pas

Pouvez vous-m'expliquer pourquoi ça bug svp

Merci d'avance

Bonjour pol-91

L'erreur n° 9 : l'indice n'appartient pas à la selection,

veut simplement dire que l'objet auquel tu tentes d'accéder n'existe pas

Effectivement, si tu n'ouvres pas ton fichier "Data SC Ani YTD.xlsx" tu auras le problème

A+

bonjour,

tu dois également ouvrir l'autre classeur. la macro ne trouve pas la fenêtre correspondant à cette autre classeur.

Bonjour,

l'erreur 9 signifie que tu appelles un objet qui n'éxiste pas, j'ai lu que tu avais deux fichiers lorsque tu as enregistré ta macro. As tu lancé la macro sans ouvrir l'autre ?

Vu que la ligne que tu as surligné est celle qui doit afficher le fichier Windows("Data SC Ani YTD.xlsx [Enregistré par l'utilisateur]").Activate

Merci de vos réponses

Pourtant j'ai bien ouvert les deux fichiers c'est pour ça que je ne comprend pas.

Re,

Il faut changer le nom de ton fichier et en profiter pour changer un peu ton code

Workbooks("Data SC Ani YTD.xlsx").Activate 

A+

Ah oui effectivement mon fichier ne s'appelle plus [enregistré par l'utilisateur]

C'est quoi la difference entre ce que j'ai écris (enfin c'est excel qui l'a écris tout seul) et ce que vous avez écris?

Merci

Re,

pol-91 a écrit :

C'est quoi la difference entre ce que j'ai écris (enfin c'est excel qui l'a écris tout seul) et ce que vous avez écris?

Pour le code que donne Excel, tu utilises l'objet "Windows" qui n'est pas terrible à gérer

Dans celui que je te donne, c'est l'objet "Workbooks" = Classeur, dans le codage c'est celui qu'on utilise en général

A+

Rechercher des sujets similaires à "erreur vba"