ThierryAS3C
XLDnaute Nouveau
Bonjour,
Je bute sur un truc qui doit être tout simple mais...
Voilà. J'ai 2 classeurs, 1 utilisé tous les jours, le second pour les archives. Sur celui utilisé couramment, une feuille par semaine. Les noms des feuilles sont variables, non définies par avance.
Le besoin : lorsque toutes les infos pour une feuille sont enrichies, je souhaite, via une macro, déplacer la feuille vers le classeur d'archive. La feuille doit se positionner automatiquement à la suite des feuilles déjà existantes. Elle disparait donc du classeur courant.
Le code suivant :
Sub Archivage()
'
' Archivage
' Touche de raccourci du clavier: Ctrl+a
'
ActiveSheet.Select
ActiveSheet.Move After:=Workbooks( _
"avril à ... 07 ARCHIVE.xls").Sheets(Sheets.Count)
Windows("avril à ... 07 COURANT.xls").Activate
End Sub
ne fonctionne pas et me renvoie une erreur d'éxécution "9" : l'indice n'appartient pas à la sélection.
Si je mets :
ActiveSheet.Move After:=Workbooks( _
"avril à ... 07 ARCHIVE.xls").Sheets(2)
ça fonctionne mieux mais en me plaçant la feuille en seconde position dans le classeur archive.
A signaler que les 2 classeurs sont ouverts lors de l'éxécution de la macro. L'idéal serait même que la macro fonctionne à partir du classeur courant, qu'elle aille ouvrir le classeur archives (protégé par un mot de passe Outils Options générale de la boîte Enregistré sous...) et referme ensuite le classeur archive avec enregistrement. Mais, se sera là une seconde étape lorsque ce bête problème sera résolu.
Svp, où cela "coince-t-il" ?
Merci par avance pour votre aide.
Cordialement.
Thierry
Je bute sur un truc qui doit être tout simple mais...
Voilà. J'ai 2 classeurs, 1 utilisé tous les jours, le second pour les archives. Sur celui utilisé couramment, une feuille par semaine. Les noms des feuilles sont variables, non définies par avance.
Le besoin : lorsque toutes les infos pour une feuille sont enrichies, je souhaite, via une macro, déplacer la feuille vers le classeur d'archive. La feuille doit se positionner automatiquement à la suite des feuilles déjà existantes. Elle disparait donc du classeur courant.
Le code suivant :
Sub Archivage()
'
' Archivage
' Touche de raccourci du clavier: Ctrl+a
'
ActiveSheet.Select
ActiveSheet.Move After:=Workbooks( _
"avril à ... 07 ARCHIVE.xls").Sheets(Sheets.Count)
Windows("avril à ... 07 COURANT.xls").Activate
End Sub
ne fonctionne pas et me renvoie une erreur d'éxécution "9" : l'indice n'appartient pas à la sélection.
Si je mets :
ActiveSheet.Move After:=Workbooks( _
"avril à ... 07 ARCHIVE.xls").Sheets(2)
ça fonctionne mieux mais en me plaçant la feuille en seconde position dans le classeur archive.
A signaler que les 2 classeurs sont ouverts lors de l'éxécution de la macro. L'idéal serait même que la macro fonctionne à partir du classeur courant, qu'elle aille ouvrir le classeur archives (protégé par un mot de passe Outils Options générale de la boîte Enregistré sous...) et referme ensuite le classeur archive avec enregistrement. Mais, se sera là une seconde étape lorsque ce bête problème sera résolu.
Svp, où cela "coince-t-il" ?
Merci par avance pour votre aide.
Cordialement.
Thierry