Probleme erreur execution 9 sur une macro faite chez moi

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 !

christ-94

XLDnaute Occasionnel
Bonjour

J'ai un probleme sur ce code

Code:
   Classeur = Sheets("protege").Range("A4") 'nom du classeur ouvert
    FICHIER1 = Sheets("protege").Range("C2") & "/" & Sheets("protege").Range("E2") ' nom du fichier a ouvrir
    Workbooks.Open Filename:=FICHIER1
    [COLOR="DarkRed"]Sheets("Sheet1").Move After:=Workbooks(Classeur).Sheets("Import")[/COLOR]

il doit copie une feuille dans un classeur ,cette macro a ete realise chez moi, et lorsque je la test au travail je me retrouve avec une erreur du type

Code:
erreur d'execution 9
l'indice n'appartient pas a la selection

Merci d'avance
 
Re : Probleme erreur execution 9 sur une macro faite chez moi

Re-bonjour

j'ai modifier le code

Code:
    Workbooks.Open Filename:=Sheets("protege").Range("C2") & "/" & Sheets("protege").Range("E2")
    Sheets("Sheet1").Move After:=Workbooks(ThisWorkbook.Name).Sheets("Import")

Par contre je ne comprend pas pourquoi
Le code sous cette forme ne fonctionne pas
Code:
Sheets("Sheet1").Move After:=Workbooks(Classeur).Sheets("Import")

Par contre chez moi sous cette il fonctionne correctement , y a t'il une option ?
 
Re : Probleme erreur execution 9 sur une macro faite chez moi

Bonjour Christ-94,

Quel est le nom du classeur dans la cellule A4 de la feuille "protege" ?
Il faut également vérifier que ce classeur existe bien sur ton disque.
Et enfin, peux-tu vérifier qu'il existe bien une feuille nommée "Import" dans ce classeur ?

Si ce n'est pas ça, peux-tu nous joindre un extrait de tes fichiers ?

Merci
 
Re : Probleme erreur execution 9 sur une macro faite chez moi

Bonjour

Donc

Quel est le nom du classeur dans la cellule A4 de la feuille "protege" ?
Il faut également vérifier que ce classeur existe bien sur ton disque
Le fichier existe c'est du fichier ouvert est en court d'utilisation


Et enfin, peux-tu vérifier qu'il existe bien une feuille nommée "Import" dans ce classeur ?
la fiche import est crée juste avant

Si ce n'est pas ça, peux-tu nous joindre un extrait de tes fichiers ?
Code:
    Sheets.Add.Name = "Import"
    Sheets.Add.Name = "Resa"
    Sheets.Add.Name = "Mise-en-forme"
    
    Classeur = Sheets("protege").Range("A4")'nom du classeur en cour 
    FICHIER1 = Sheets("protege").Range("C2") & "/" & Sheets("protege").Range("E2") ' nom du classeur a ouvrir 
    Workbooks.Open Filename:=FICHIER1
    Sheets("Sheet1").Move After:=Workbooks(Classeur).Sheets("Import")
    Cells.Copy

Je pense que le probleme est une declaration de variable ?


Le probleme est sur cette partie du code
Code:
Workbooks(Classeur).Sheets("Import")

dans Workbooks(Classeur)

car si remplace par le nom du classeur plus de probleme .
 
Re : Probleme erreur execution 9 sur une macro faite chez moi

re,

Voici ce que j'ai détecté :

1/ Remplacer :
Code:
Classeur = Sheets("protege").Range("A4")
par
Code:
Classeur = Sheets("protege").Range("[COLOR="red"]A3[/COLOR]")

2/ Dans la cellule C2, enlever le "\" et mettre :
Code:
FICHIER1 = Sheets("protege").Range("C2") & "[COLOR="Red"]\[/COLOR]" & Sheets("protege").Range

3/ Vérifier que dans le fichier "tmp.xls", il existe bien une feuille nommée "Sheet1"

4/ J'ai essayé ce code et celui-ci fonctionne sans erreur :
Code:
    Sheets.Add.Name = "Import"
    Sheets.Add.Name = "Resa"
    Sheets.Add.Name = "Mise-en-forme"
    
    Classeur = Sheets("protege").Range("A3")
    FICHIER1 = Sheets("protege").Range("C2") & "\" & Sheets("protege").Range("E2")
    Workbooks.Open Filename:=FICHIER1
    Sheets("Sheet1").Move After:=Workbooks(Classeur).Sheets("Import")
    Cells.Copy
    Sheets("import").Select
    Range("A1").PasteSpecial Paste:=xlValues
 
Re : Probleme erreur execution 9 sur une macro faite chez moi

Re-bonjour

Merci pour les infos cela fonction nickel

effectivement il y a une erreur sur

Classeur = Sheets("protege").Range("A3")

je ne vois pourquoi cela marche chez moi

Je teste ce soir , Merci encore
 
- 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
615
  • Question Question
XL 2019 Erreur '9'
Réponses
2
Affichages
1 K
Retour