Execution macro sur differentes feuilles

gaetandu80

XLDnaute Nouveau
Bonjour,
Voici mon cas, j'ai actuellement un code que j'utilise, seulement j'aimerai l'utiliser sur plusieurs feuille comme (feuil2, feuil3, feuil4 et feuil5).
J'ai deja cherché sur le forum et essayé plusieurs manip mais aucune n'a fonctionné.

Voici mon code actuel que j'utilise:
Code:
Sub Bouton2_Clic()
'POUR COPIER CELLULE SANS FORMULE
'feuil2

Sheets("feuil2").Activate
Range("a7:b36").Select
    Selection.Copy
    Range("D7:E36").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False


'POUR CACHER TES CELLULES
Range("e7:e36").Select
For Each o In Selection
If o.Value <= Cells(1, 8) Then
o.EntireRow.Hidden = True
End If
Next

'POUR REVOIR TES CELLULES
Range("e7:e36").Select
For Each o In Selection
If o.Value > Cells(1, 8) Then
o.EntireRow.Hidden = False
End If
Next

'TRIER ORDRE DECROISSANT
'I04
Range("d6:e36").Select
Range("e6").Activate
    Selection.Sort Key1:=Range("e6"), Order1:=xlDescending, Key2:=Range("d6") _
        , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal

End Sub

Donc si vous aviez une idée n'hésitait pas.
 
G

Guest

Guest
Re : Execution macro sur differentes feuilles

Bonjour,

Code:
Sub Bouton2_Clic()
    Call CopierSansFormule(NomDeLaFeuille)
    'où NomDeLaFeuille est le nom de la feuille sur laquelle lancer la macro
End Sub
Mettre dans un module générale la macro en changean son Nom comme par exemple:

Code:
Sub [COLOR=red]CopierSansFormule[/COLOR](ByVal NomFeuille as string)
 
'POUR COPIER CELLULE SANS FORMULE
'feuil2
 
Sheets(NomFeuille ).Activate
Range("a7:b36").Select
    Selection.Copy
    Range("D7:E36").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
 
 
'POUR CACHER TES CELLULES
Range("e7:e36").Select
For Each o In Selection
If o.Value <= Cells(1, 8) Then
o.EntireRow.Hidden = True
End If
Next
 
'POUR REVOIR TES CELLULES
Range("e7:e36").Select
For Each o In Selection
If o.Value > Cells(1, 8) Then
o.EntireRow.Hidden = False
End If
Next
 
'TRIER ORDRE DECROISSANT
'I04
Range("d6:e36").Select
Range("e6").Activate
    Selection.Sort Key1:=Range("e6"), Order1:=xlDescending, Key2:=Range("d6") _
        , Order2:=xlDescending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
 
End Sub

A+
 
G

Guest

Guest
Re : Execution macro sur differentes feuilles

Bonjour,

Dans:

Code:
Sub Bouton2_Clic()
    Call CopierSansFormule([COLOR=red]NomDeLaFeuille[/COLOR])
    'où NomDeLaFeuille est le nom de la feuille sur laquelle lancer la macro
End Sub

Il faut remplacer NomDeLaFeuille par le nom de la feuille entre guillemets que tu veux traiter.

Si tu veux traiter toutes les feuilles d'un coup sauf la premières tu peux:


Code:
Sub Bouton2_Clic()
    Dim sh As WorkSheet
    For each Sh In WorkSheets
      If sh.Name<>"[COLOR=red]nomdelapremièrefeuillequ'ilnefautpastraiter[/COLOR]" then
           Call CopierSansFormule(sh.Name)
      End IF
    Next
   End Sub

nomdelapremièrefeuillequ'ilnefautpastraiter est à remplacer par le nom de la feuille que tu ne veux pas traiter.

A+
 

Discussions similaires

Réponses
14
Affichages
415

Statistiques des forums

Discussions
312 754
Messages
2 091 691
Membres
105 049
dernier inscrit
OliveC