Problème cration macro

Résolu
Bonjour,
J'ai voulu créer un tableau excel dans lequel je rentre mes comptes. J'ai créer une macro me permettant de ranger mes dépenses et mes crédit par date puis par libellé.En clair j'ai fais le même tableau avec la même mise en page dans tous les onglets qui corresppondent aux 12mois de l'année. Le problème et que j'ai créer cette macro dans l'onglet intitulé Aout 08 et du coup cette macro ne fonctionne que dans cette onglet.J'ai créer cette macro à l'aide de la fonction "enregistrer une macro". Alors j'attend votre aide. Je suis sous excel 2007. En vous remerciant.

PS: copie de ma macro:

Sub Tri()
'
' Tri Macro
'

'
Range("A2:D67").Select
ActiveWorkbook.Worksheets("Aout 08").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Aout 08").Sort.SortFields.Add Key:=Range("A2:A67") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Aout 08").Sort.SortFields.Add Key:=Range("B2:B67") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Aout 08").Sort
.SetRange Range("A2:D67")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

6 réponses

  1. Bonjour,

    Utilise une boucle du style

    For i = 1 To Sheets.Count
    Ton application avec i étant l'index de ta feuille
    Next i
    0
    1. Salut,
      Par contre je ne suis pas expert en macro. Il faudrait que je l'écrive où cette boucle? Merci de ta réponse
      0
      1. Bonsoir,

        Si mes souvenirs sont bons, en écrivant ceci, je pense que cela doit fonctionner :

        Sub Tri()
        For i = 1 To Sheets.Count
        Range("A2:D67").Select
        Sheets(i).Sort.SortFields.Clear
        Sheets(i).Sort.SortFields.Add Key:=Range("A2:A67") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        Sheets(i).Sort.SortFields.Add Key:=Range("B2:B67") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With Sheets(i).Sort
        .SetRange Range("A2:D67")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
        End With
        Next iEnd Sub
        1
        1. Salut Zoren8,
          Je voulais te remercier de ton aide. ça fonctionne niquel!!!
          Merci encore.
          0
          1. Merci bien Zoren8. Ca fonctionne niquel chrome!!!!
            0
            1. content de t'avoir aider. Tu peux flaguer comme étant résolu.
              0