Modifier code vba d'une macro crée via l'enregistreur

niiiiiiiiiico

XLDnaute Occasionnel
Bonjour à tous,

N'y connaissant pas grande chose en VBA, j'ai utilisé l'enregistreur de macro pour automatiser un export de données en fonction d'un fichier. J'ai testé, ça marche bien à 2 subtilités près que j'ai indiqué en rouge dans le code vba ci-après :

1. Si l'utilisateur renomme le fichier la macro ne fonctionne plus. Comment indiquer un nom générique plutôt que le nom_du_fichier.xlm ?

2. La macro ne fonctionne qu'une fois, à chaque fois ça exporte dans un nouveau fichier dont le nom change tout le temps (classeur1, classeur2, etc. classeurn). Là aussi comment forcer un nom de fichier constant pour que la macro ne bugge pas ?

Merci

Voici le code :
VB:
Sub Export()
'
' Export Macro
'

'
    Sheets(Array("Distribution", "Détails_jour", "Détails_Prestas_J", "Détails péna", _
        "Dégress_CALC")).Select
    Sheets("Distribution").Activate
    Sheets(Array("Distribution", "Détails_jour", "Détails_Prestas_J", "Détails péna", _
        "Dégress_CALC")).Copy
    Windows("Elisa_MAQUETTE_V4.1.2 - LIL.xlsm").Activate
    Windows("Classeur5").Activate
    Cells.Select
    Range("O21").Activate
    Selection.Copy
    Application.CutCopyMode = False
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Détails_jour").Select
    Cells.Select
    Range("O21").Activate
    Application.CutCopyMode = False
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Détails_Prestas_J").Select
    Cells.Select
    Range("O21").Activate
    Application.CutCopyMode = False
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Détails péna").Select
    Cells.Select
    Range("O21").Activate
    Application.CutCopyMode = False
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Dégress_CALC").Select

    Sheets("Dégress_CALC").Select
    Cells.Select
    Range("A1").Activate
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Range("A2").Select
End Sub
Sub Export()
'
' Export Macro
'

'
Sheets(Array("Distribution", "Détails_jour", "Détails_Prestas_J", "Détails péna", _
"Dégress_CALC")).Select
Sheets("Distribution").Activate
Sheets(Array("Distribution", "Détails_jour", "Détails_Prestas_J", "Détails péna", _
"Dégress_CALC")).Copy
Windows("Elisa_MAQUETTE_V4.1.2 - LIL.xlsm").Activate
Windows("Classeur5").Activate
Cells.Select
Range("O21").Activate
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Détails_jour").Select
Cells.Select
Range("O21").Activate
Application.CutCopyMode = False
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Détails_Prestas_J").Select
Cells.Select
Range("O21").Activate
Application.CutCopyMode = False
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Détails péna").Select
Cells.Select
Range("O21").Activate
Application.CutCopyMode = False
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Dégress_CALC").Select

Sheets("Dégress_CALC").Select
Cells.Select
Range("A1").Activate
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("A2").Select
End Sub
 
Dernière édition:

Discussions similaires


Haut Bas