Comment généraliser l'action d'une macro

L_S

XLDnaute Nouveau
Bonjour,

Je vous explique:
(N.B.:
- Tous mes classeurs ont un seul et unique onglet
- Et le nom du classeur est identique au nom de l'onglet)

J'ai un classeur nommé "TOTO" en .xlm (soit TOTO.xlm) (avec son onglet "TOTO")
et qui via une macro, se modifie en .xls
Il se nomme donc après transformation en TOTO.xlm.xls
(Cf Macro ci-dessous)
Sub Convertir_xlm_xls()

ThisWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & ".xls"

End Sub

(Pour info, cette macro s'adapte quelque soit le nom du classeur)
Jusque là, ça fonctionne (Le nouveau classeur se crée mais le contenu ne suit pas)

Je souhaite donc ensuite que le contenu de TOTO en xlm vienne se copier/coller sur TOTO en xls
J'ai donc trouvé la macro ci-dessous mais qui ne fonctionne que pour le fichier TOTO
Alors que je souhaiterais que cette macro s'adapte quelque soit le nom du fichier.

Sub Macro(1)

Sheets("TOTO").Select
Sheets("TOTO").Copy Before:=Workbooks( _
"TOTO.xlm.xls").Sheets(1)
Windows("TOTO.xlm").Activate
Range("A1").Select

End Sub

(N.B.:Il y-a un débogage que je n'arrive pas à contrer sur la 2ème et 3ème ligne)

Pouvez-vous me venir en aide ?

Très cordialement.
 

Pièces jointes

  • TOTO.xlsm
    12.4 KB · Affichages: 70
  • TOTO.xlsm
    12.4 KB · Affichages: 73
  • TOTO.xlsm
    12.4 KB · Affichages: 70

CBernardT

XLDnaute Barbatruc
Re : Comment généraliser l'action d'une macro

Bonjour à tous,

Si j'ai bien compris, essaye la macro suivante dans le classeur source.

Cela créera un autre classeur au nom de la première et unique feuille au format .xls dans le même répertoire que celui du fichier source :

Sub EnregistrerFeuilleEnClasseur()
Dim Chemin As String, Nom As String, Fichier As String
Chemin = ThisWorkbook.Path
Sheets(1).Copy
With ActiveWorkbook
Nom = Sheets(1).Name
Fichier = Chemin & "\" & Nom & ".xls"
.SaveAs Filename:=Fichier, FileFormat:=xlExcel8
.Close
End With
End Sub
 

L_S

XLDnaute Nouveau
Re : Comment généraliser l'action d'une macro

En fait rien ne se produit.

Et maintenant lorsque je souhaite ouvrir Excel pour tout autre chose, j'ai deux fichiers Excel de travail déja existant qui s'ouvre automatiquement.

J'ai donc supprimé la Macro mais ce processus s'effectue toujours.
Comment faire ?
 

L_S

XLDnaute Nouveau
Re : Comment généraliser l'action d'une macro

Bon, j'ai réussi à supprimer le processus.

En fait, j'attends une macrp qui fasse que mon fichier de base (dont leurs noms sont différents puisqu'ils sont plusieurs) se duplique en.xls et ce avec son contenu.

merci d'avance.
 

Discussions similaires

Statistiques des forums

Discussions
312 472
Messages
2 088 710
Membres
103 930
dernier inscrit
Jibo