erreur 9 sur macro excel

  • Initiateur de la discussion Initiateur de la discussion yann
  • Date de début Date de début

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 !

Y

yann

Guest
bonjour à tous!

voici mon pb; j'avais trouvé la solution pour créer sur excel avec un fichier subdivisée en 12 mois (année N) une macro qui permettrait spontanément de faire un autre classeur (soit année N+1) or quand je demande l'exécution de la macro, microsoft visual basic me marque :

erreur exécution'9'

l'indice n'appartient pas à la sélection.

seul choix demander un débogage mais je suis novice et ne sait pas corriger l'erreur que doit-je faire? a tout hasard voici les instructions de la macro, quest ce qui cloche d'aprés vous et à quel endroit?

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 29/10/2004 par pellet
'
' Touche de raccourci du clavier: Ctrl+n
'
Workbooks.Add
Windows("Copie de prototype relevé C.E N+1.xls").Activate
Sheets(Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", _
"septembre", "octobre", "novembre", "decembre")).Select
Sheets("janvier").Activate
Sheets(Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", _
"septembre", "octobre", "novembre", "decembre")).Copy Before:=Workbooks( _
"Classeur3").Sheets(1)
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Feuil1").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Feuil2").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Feuil3").Select
ActiveWindow.SelectedSheets.Delete
ActiveWindow.TabRatio = 0.386
Range("A9").Select
Application.WindowState = xlMinimized
ChDir "C:\Documents and Settings\alain\Mes documents\yannick"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\alain\Mes documents\yannick\Classeur3.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.WindowState = xlMinimized
ActiveWindow.Close
Sheets("janvier").Select
End Sub

par avance merci pour toute aide dans ce domaine.

bye à +
 
Bonjour Yann, le forum

fais un débogage, tu auras la ligne posant problème en surbrillance.

sans cela, pour que cela fonctionne il faut:

Copie de prototype relevé C.E N+1.xls ouvert

Classeur3 ouvert, n'ayant pas d'extension, ce n'est pas un classeur enregistré mais créé avant l'exécution de la macro, le problème doit venir de la. Si ce n'est pas classeur3 qui est créé, cela plante.

je te propose donc une macro modifiée qui fait la même chose sans avoir ce problème.

Cordialement, A+

Sub Macro1()
Dim Nom_Fichier As String
Workbooks("Copie de prototype relevé C.E N+1.xls").Sheets(Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", _
"septembre", "octobre", "novembre", "decembre")).Copy
ActiveWindow.TabRatio = 0.386
Range("A9").Select
Application.WindowState = xlMinimized
Nom_Fichier = "C:\Documents and Settings\alain\Mes documents\yannick\" & ActiveWorkbook.Name
Nom_Fichier = Application.GetSaveAsFilename(Nom_Fichier, FileFilter:="Fichiers Excel (*.Xls),*.Xls", Title:="Enregistrement")
ActiveWorkbook.SaveAs Filename:=Nom_Fichier, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close False
Workbooks("Copie de prototype relevé C.E N+1.xls").Activate
Sheets("janvier").Select
End Sub
 
Re bonjour

en précision, si tu ne veux pas la boite de dialogue Enregistrer

A+

Sub Macro1()
Workbooks("Copie de prototype relevé C.E N+1.xls").Sheets(Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "aout", _
"septembre", "octobre", "novembre", "decembre")).Copy
ActiveWindow.TabRatio = 0.386
Range("A9").Select
Application.WindowState = xlMinimized
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\alain\Mes documents\yannick\" & ActiveWorkbook.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close False
End Sub
 
salut yeahou!

tout d'abord merci pour le coup de main, il semblerait que ce soit la bonne macro à utiliser, mais, (parce qu'il y a toujours un mais!) il y a un autre probléme qui se pose visual basic me donne avec cette macro, la réponse suivante :

erreur de compilation:

nom ambigu détecté: macro1

????!!!!!!

je sais pas ce qu'il faut en penser, mais là je vois pas du tout quoi faire si toi ou un autre a la réponse eh ben elle est la bienvenue.

alors à+ et à bientôt, bye.

yann
 
Bonjour Yann, le forum

Il faut en penser que tu as copié la macro à la suite de l'autre et non pas sa place. Tu as maintenant deux programmes macro1 ce qui embète VB. Renomme donc l'un des deux en Creation_Fichier_Annee par exemple et cela ira mieux.

Sub Macro1()
le Sub veut dire Procédure
Macro1 est le nom de cette procédure, doit être unique par classeur.
() sert à définir des arguments si il y a lieu

Cordialement, A+
 
rebonjour, yeahou

oui je sais, je suis pénible mais aprés avoir corrigé l'erreur, vba m'annonce un autre pb avec le message:

erreur de compilation:

Attendu: Expression

bon , là... ça me semble pas gagné d'avance, je te renvoie le script entier de la macro, essaye de voir ce qui cloche ainsi que les éventuels erreurs, parce que je t'avoue que le vba commence à me gaver sérieux, situ sais quoi y faire;

Sub Macro1()
' Macro1 Macro
' Macro enregistrée le 29/10/2004 par pellet
'
' Touche de raccourci du clavier: Ctrl+n
End Sub
Sub Creation_Fichier_Annee()
Workbooks ("Copie de prototype relevé C.E N+1.xls").Sheets(Array("janvier",
"février", "mars", "avril", "mai", "juin", "juillet", "aout", _
"septembre", "octobre", "novembre", "decembre")).Copy
ActiveWindow.TabRatio = 0.386
Range("A9").Select
Application.WindowState = xlMinimized
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\alain\Mes"
documents\yannick\" & ActiveWorkbook.Name & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close False
End Sub


sinon, merci pour ton aide précieuse, j'attends ta réponse , à+ ;-)
 
bonsoir,

ok yeahou, cette fois avec le fichier joint j'ai compris!

Ce qui n'allait pas dans ma facon de concevoir ma macro c'est qu'il fallait en 1ere étape de la macro ouvrir une feuille excel et ensuite faire tout le travail de copie des feuilles, et c'est ce qui manquait et qui fichait la m..

Alors merci pour ton explication ça m'a bien aidé, au besoin je te renvoi l'ascenseur à travers ce forum ; bye et encore merci pour tout! ;-)


Yann
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
1 K
Réponses
3
Affichages
969
Réponses
9
Affichages
1 K
Réponses
1
Affichages
984
Réponses
11
Affichages
1 K
Réponses
2
Affichages
819
Retour