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. content de t'avoir aider. Tu peux flaguer comme étant résolu.
    0
    1. Merci bien Zoren8. Ca fonctionne niquel chrome!!!!
      0
      1. Salut Zoren8,
        Je voulais te remercier de ton aide. ça fonctionne niquel!!!
        Merci encore.
        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,
            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. 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