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

Réponses
2
Affichages
110
Réponses
5
Affichages
98

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth