Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

action d'une macro sur plusieur page

  • Initiateur de la discussion Initiateur de la discussion angoul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

angoul

XLDnaute Impliqué
Bonsoir

voila mon petit probleme
j'ai 40 feuilles avec des categories, chaque feuilles a la meme forme et une macro qui permet de faire un tri aleatoire.jusque la pas de probleme je clique sur ma feuille et ensuite je clique sur ma macro cela marche bien

mais existe t'il une facon pour m'eviter de cliquer a chaque fois sur ma feuille et ma macro 40 fois de suite

un bouton qui ferait l'action de mettre en route ma macro tri sur les 40 feuilles, de la feuille A a la feuilleXX.

merci d'avance
 
Re : action d'une macro sur plusieur page

Salut
en mettant ta macro dans une boucle qui passe toutes les pages, mais il faut que les noms des pages aient le même format
M 10 M 11
for i= 10 to ...
sheets("M " & i).select
ta macro
next
 
Re : action d'une macro sur plusieur page

Bonsoir,

Cet exemple devrait vous aider.
Dans le code suivant, ma macro essaipasse toutes les feuilles de calcul du classeur en revue et remplis la case "A1" de chacune de ces feuilles avec la valeur 2.

Code:
Sub essai()

Dim F As Worksheet
    
For Each F In ThisWorkbook.Worksheets
    F.Range("A1") = 2
Next

End Sub


Salutations
Luis
 
Re : action d'une macro sur plusieur page

Bonsoir

Il te faut une feuille générale de collecte et tous de la meme configauration ainsi que la mise en page en créant ce module aprés
Sub TriRecap()
Dim i&, n&, z&, PlageR As Range, PlageA As Range, Sh As Worksheet, ShR As Worksheet
Set ShR = Sheets("ici le nom le la feuille recapitulative")
ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row + 1
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
PlageR.ClearContents
For i = 1 To Worksheets.Count
Sheets(i).Activate
If Sheets(i).Name <> ShR.Name Then
z = Sheets(i).Cells(65536, 1).End(xlUp).Row
n = ShR.Cells(65536, 1).End(xlUp).Row + 1
Set PlageA = Sheets(i).Range(Cells(3, 1), Cells(z, 9))
PlageA.Select
PlageA.Copy Destination:=ShR.Range("A" & n)
End If
Next i

ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
PlageR.Select

Range("A2").Select
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("'ici le nom le la feuille recapitulative'").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("'ici le nom le la feuille recapitulative'").Sort.SortFields.Add Key:= _
Range("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("'ici le nom le la feuille recapitulative'").Sort
.SetRange Range("A2:I" & n)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub
Sub TriRecapT()
Dim i&, n&, z&, PlageR As Range, PlageA As Range, Sh As Worksheet, ShR As Worksheet
Set ShR = Sheets("ici le nom le la feuille recapitulative")
ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row + 1
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
PlageR.ClearContents
For i = 1 To Worksheets.Count
Sheets(i).Activate
If Sheets(i).Name <> ShR.Name Then
z = Sheets(i).Cells(65536, 1).End(xlUp).Row
n = ShR.Cells(65536, 1).End(xlUp).Row + 1
Set PlageA = Sheets(i).Range(Cells(3, 1), Cells(z, 9))
PlageA.Select
PlageA.Copy Destination:=ShR.Range("A" & n)
End If
Next i

ShR.Activate
n = ShR.Cells(65536, 1).End(xlUp).Row
Set PlageR = ShR.Range(Cells(2, 1), Cells(n, 9))
PlageR.Select

Range("A2").Select
Selection.CurrentRegion.Select
ActiveWorkbook.Worksheets("ici le nom le la feuille recapitulative").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("ici le nom le la feuille recapitulative").Sort.SortFields.Add Key:= _
Range("B2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Récapitulatif auteur").Sort
.SetRange Range("A2:I" & n)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
245
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
330
Réponses
23
Affichages
701
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
767
Réponses
7
Affichages
378
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…