IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Excécuter Macro dans plusieurs fichiers Excel


Sujet :

Macros et VBA Excel

  1. #21
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut
    Ca y est, je suis parvenu (presque) à finir ma macro.
    Dans ma macro, je suis obligé de convertir (en gras la colonne C).
    La problème est que sur certains fichiers, je n'ai pas de valeur, ma macro se stoppe donc et me dit aucune valeur à convertir.

    Quel code dois-je ajouter et à quel endroit pour faire en sorte que pour les fichiers qui n'ont pas de valeurs de continuer quand-même ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    Sub auto_open()
    Dim book As Excel.Workbook
    Dim excelfile As String
    Dim Myrep(0 To 100) As String
    
    Myrep(0) = "\\serveur1\partage\rep1\rep2\Biggest_Files.xls"
    Myrep(1) = "\\serveur2\partage\rep1\rep2\Biggest_Files.xls"
    
    While Myrep(i) <> ""
    Set appxls = CreateObject("Excel.Sheet")
    
    
    appxls.Application.Workbooks.Open Myrep(i)
    
        Rows("1:4").Select
        Range("A4").Activate
        Selection.Delete Shift:=xlUp
        Columns("G:G").Select
        Selection.Delete Shift:=xlToLeft
        Range("A1:F1").Select
        Range("F1").Activate
        Selection.Font.Bold = True
        Range("H1").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Mo)"
        With ActiveCell.Characters(Start:=1, Length:=10).Font
            .Name = "Arial"
            .FontStyle = "Gras"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("H3").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Go)"
        Columns("A:F").Select
        Range("F1").Activate
        Selection.AutoFilter
        Range("H3").Select
        Selection.Font.Bold = True
        Columns("A:F").Select
        Range("F1").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Range("H1:I1,H3:I3").Select
        Range("I3").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Columns("C:C").Select
        Selection.Replace What:=" MB", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1), TrailingMinusNumbers:=True
        Selection.NumberFormat = "0.0"
        Columns("D:D").Select
        Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 4), TrailingMinusNumbers:=True
        Selection.NumberFormat = "m/d/yyyy"
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("I1").Select
        Selection.NumberFormat = "0"
        Range("I3").Select
        Selection.NumberFormat = "0.0"
        Range("I1").Select
        ActiveCell.FormulaR1C1 = "=SUM(C[-6])"
        Range("I3").Select
        ActiveCell.FormulaR1C1 = "=SUM(R[-2]C/1000)"
        Columns("A:A").ColumnWidth = 33.57
        Columns("B:B").ColumnWidth = 33.71
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "Size (Mo)"
        Columns("D:D").Select
        Columns("C:C").EntireColumn.AutoFit
        Columns("D:D").EntireColumn.AutoFit
        Columns("E:E").ColumnWidth = 22.14
        Columns("F:F").EntireColumn.AutoFit
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("A1").Select
        
        Application.DisplayAlerts = False
             ActiveWorkbook.SaveAs Filename:=Myrep(i) _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
                    
                    ActiveWorkbook.Close
                    Application.DisplayAlerts = True
             
    i = i + 1
    Wend
    
    Excel.Application.Quit
    
    
    Set appxls = Nothing
    
    End Sub

  2. #22
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Pour présenter ton code, utiliser la balise CODE (activé par le bouton dièse sur la page web), et surtout indente-le stp, car là je suis fatigué et au vu de la longueur de ton code c'est pas le moment de jouer au puzzle pour m'y retrouver je m'y perdrais.

    J'espère que tu n'en prendras pas offense, mais il y a des jours où on est moins disposé à prendre son courage à deux mains.

  3. #23
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut
    Pour la balise, c'est OK mais pour le "indente-le", je sais pas comment faire.

    Le message d'erreur exact est
    aucune donnée à convertir n'a été sélectionné

  4. #24
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Ton code est déjà pas trop mal indenté, même si ça crève les yeux que c'est du pur copier/coller/non adapté de ce que te donner l'enregistreur.

    2-3 suggestions:
    Remplace tout ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
    Par ça qui est beaucoup plus court, lisible, et optimisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With Selection.Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    Tu l'as à 2 endroits.

    Simplifie ton code en gras: inutile de préciser les attributs qui ont une valeur pas défaut. Ainsi, mets juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Selection.TextToColumns Destination:=Range("C1"),   FieldInfo _
            :=Array(1, 1), TrailingMinusNumbers:=True
    Pour ton problème, tu as dit toi-même la réponse à ta question: tu dois tester si toutes les cellules de ta sélection sont vides.

    D'habitude je donne pas le code, mais là il te fallait une solution simple que tu n'aurais pas été capable de trouver. Je cherche la dernière ligne de la sélection, et si celle ci est 1 et que son contenu est vide, alors on n'exécute pas le TextToColumns.
    Ainsi, le code final à la place de ton texte en gras sera:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Cells(65536, Selection.Column).End(xlUp).Row > 1 Or _
    Cells(1, Selection.Column).Value <> "" Then
        Selection.TextToColumns destination:=Range("C1"), FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
    End If
    J'ai testé et ça marche

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut
    Voilà mon code complet avec les mofdifications que tu m'as indiqué :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    <div class="bbcode_container">
    	<div class="bbcode_quote">
    		<div class="quote_container">
    			<div class="bbcode_quote_container"></div>
     
    				Sub auto_open()
    Dim book As Excel.Workbook
    Dim excelfile As String
    Dim Myrep(0 To 100) As String
     
    Myrep(0) = "\\serveur1\partage\rep1\rep2\Biggest_Files.xls"
     
    While Myrep(i) <> ""
    Set appxls = CreateObject("Excel.Sheet")
     
     
    appxls.Application.Workbooks.Open Myrep(i)
     
        Rows("1:4").Select
        Range("A4").Activate
        Selection.Delete Shift:=xlUp
        Columns("G:G").Select
        Selection.Delete Shift:=xlToLeft
        Range("A1:F1").Select
        Range("F1").Activate
        Selection.Font.Bold = True
        Range("H1").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Mo)"
        With ActiveCell.Characters(Start:=1, Length:=10).Font
            .Name = "Arial"
            .FontStyle = "Gras"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("H3").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Go)"
        Columns("A:F").Select
        Range("F1").Activate
        Selection.AutoFilter
        Range("H3").Select
        Selection.Font.Bold = True
        Columns("A:F").Select
        Range("F1").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
        End With
        Range("H1:I1,H3:I3").Select
        Range("I3").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Columns("C:C").Select
        Selection.Replace What:=" MB", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        If Cells(65536, Selection.Column).End(xlUp).Row > 1 Or _
        Cells(1, Selection.Column).Value <> "" Then
        Selection.TextToColumns Destination:=Range("C1"), FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
        End If
        Selection.NumberFormat = "0.0"
        Columns("D:D").Select
        Selection.TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 4), TrailingMinusNumbers:=True
        Selection.NumberFormat = "m/d/yyyy"
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("I1").Select
        Selection.NumberFormat = "0"
        Range("I3").Select
        Selection.NumberFormat = "0.0"
        Range("I1").Select
        ActiveCell.FormulaR1C1 = "=SUM(C[-6])"
        Range("I3").Select
        ActiveCell.FormulaR1C1 = "=SUM(R[-2]C/1000)"
        Columns("A:A").ColumnWidth = 33.57
        Columns("B:B").ColumnWidth = 33.71
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "Size (Mo)"
        Columns("D:D").Select
        Columns("C:C").EntireColumn.AutoFit
        Columns("D:D").EntireColumn.AutoFit
        Columns("E:E").ColumnWidth = 22.14
        Columns("F:F").EntireColumn.AutoFit
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("A1").Select
     
        Application.DisplayAlerts = False
             ActiveWorkbook.SaveAs Filename:=Myrep(i) _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
     
                    ActiveWorkbook.Close
                    Application.DisplayAlerts = True
     
    i = i + 1
    Wend
     
    Excel.Application.Quit
     
     
    Set appxls = Nothing
     
    End Sub
     
    		</div>
    	</div>
    </div>
    J'ai toujours le message : Aucune donnée à convertir n'a été sélectionné

  6. #26
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    On dirait que tu n'as rien compris à l'endroit où tu devais mettre le code que je t'ai donné...

    Pour les bordures, je t'ai conseillé de modifier les 2 endroits où tu modifiais les bordures, et pas seulement le premier comme tu l'as fait.
    Et indente ton code: décale le code à droite avec des tabulations lorsque tu utilise des blocs tels que with ou if (regarde comment je t'ai présenté mon code et compare avec la façon dont tu m'as présenté le tien).

    Pour le code avec le "If" je t'ai dit de le mettre en remplacement de ton texte en gras, mais il me paraissait évident que tu fasse la même chose avec l'autre bout de code où tu convertis.

    Et maintenant une petit question: où as-tu collé ton code?!
    Parce que les lignes de début et de fin que tu m'as montré, c'est pas dans des modules Visual Basic qu'on les voit!

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 141
    Points : 40
    Points
    40
    Par défaut
    OK, ça fonctionne maintenant !

    Voilà mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
     
    Sub auto_open()
    Dim book As Excel.Workbook
    Dim excelfile As String
    Dim Myrep(0 To 100) As String
     
    Myrep(0) = "\\eufrhqfs01wp\users\AUDIT\ZXFILES_REPORT\Biggest_Files.xls"
     
    While Myrep(i) <> ""
    Set appxls = CreateObject("Excel.Sheet")
     
     
    appxls.Application.Workbooks.Open Myrep(i)
     
        Rows("1:4").Select
        Range("A4").Activate
        Selection.Delete Shift:=xlUp
        Columns("G:G").Select
        Selection.Delete Shift:=xlToLeft
        Range("A1:F1").Select
        Range("F1").Activate
        Selection.Font.Bold = True
        Range("H1").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Mo)"
        With ActiveCell.Characters(Start:=1, Length:=10).Font
            .Name = "Arial"
            .FontStyle = "Gras"
            .Size = 10
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ColorIndex = xlAutomatic
        End With
        Range("H3").Select
        ActiveCell.FormulaR1C1 = "TOTAL (Go)"
        Columns("A:F").Select
        Range("F1").Activate
        Selection.AutoFilter
        Range("H3").Select
        Selection.Font.Bold = True
        Columns("A:F").Select
        Range("F1").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
        End With
        Range("H1:I1,H3:I3").Select
        Range("I3").Activate
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
        End With
        Columns("C:C").Select
        Selection.Replace What:=" MB", Replacement:="", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
            ReplaceFormat:=False
        If Cells(65536, Selection.Column).End(xlUp).Row > 1 Or _
        Cells(1, Selection.Column).Value <> "" Then
        Selection.TextToColumns Destination:=Range("C1"), FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
        End If
        Selection.NumberFormat = "0.0"
        Columns("D:D").Select
        If Cells(65536, Selection.Column).End(xlUp).Row > 1 Or _
        Cells(1, Selection.Column).Value <> "" Then
        Selection.TextToColumns Destination:=Range("D1"), FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
        End If
        Selection.NumberFormat = "m/d/yyyy"
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("I1").Select
        Selection.NumberFormat = "0"
        Range("I3").Select
        Selection.NumberFormat = "0.0"
        Range("I1").Select
        ActiveCell.FormulaR1C1 = "=SUM(C[-6])"
        Range("I3").Select
        ActiveCell.FormulaR1C1 = "=SUM(R[-2]C/1000)"
        Columns("A:A").ColumnWidth = 33.57
        Columns("B:B").ColumnWidth = 33.71
        Range("C1").Select
        ActiveCell.FormulaR1C1 = "Size (Mo)"
        Columns("D:D").Select
        Columns("C:C").EntireColumn.AutoFit
        Columns("D:D").EntireColumn.AutoFit
        Columns("E:E").ColumnWidth = 22.14
        Columns("F:F").EntireColumn.AutoFit
        Columns("C:D").Select
        Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("D2") _
            , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
            False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
            :=xlSortNormal
        Range("A1").Select
     
        Application.DisplayAlerts = False
             ActiveWorkbook.SaveAs Filename:=Myrep(i) _
            , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False
     
                    ActiveWorkbook.Close
                    Application.DisplayAlerts = True
     
    i = i + 1
    Wend
     
    Excel.Application.Quit
     
     
    Set appxls = Nothing
     
    End Sub
    Merci pour ton aide !
    @+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/08/2017, 16h55
  2. Réponses: 1
    Dernier message: 11/02/2011, 14h14
  3. Réponses: 10
    Dernier message: 28/08/2008, 09h15
  4. Réponses: 9
    Dernier message: 10/05/2007, 10h56
  5. Macros sur Plusieurs fichiers Excel
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo