XL 2019 Macro pour plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion Peychris
  • 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 !

Peychris

XLDnaute Nouveau
Bonjour, débutant en macro; j'ai réussi la macro suivante qui marche pour une feuille. Ayant d'autres feuilles similaire, j'ai reproduit pour chaque feuille cette macro en modifiant uniquement le nom de la feuille pour que çà marche.
J'aimerais si possible faire une seule macro qui marche pour toutes mes feuilles excepté une feuille de mon fichier.
Merci de me venir en aide.
Ci-joint ma macro (en PJ également)
Sub Colorisertableau()

Application.ScreenUpdating = False

Set F1 = Worksheets("202")

With F1
Set Plage = .Range("C3:G20")

End With

For Z = 22 To 31 Step 1

For Each cell In Plage

cell.Select
If cell.Value = Cells(Z, 1).Value Then Selection.Interior.Color = F1.Cells(Z, 1).Interior.Color
If cell.Value = Cells(Z, 1).Value Then Selection.Font.Color = F1.Cells(Z, 1).Font.Color

Next


Next Z

Application.ScreenUpdating = True


End Sub
 

Pièces jointes

Solution
Bonjour peychris, le forum

à tester ! et il ne peut y avoir qu'une seule macro avec ce nom "colorisertableau" tu as laissé le même nom pour toutes tes macros, pas bon, il doit y avoir unicité du nom pour une sub.

Bien cordialement, @+
VB:
Sub Coloriser_tableaux()
    Application.ScreenUpdating = False
    Dim F1 As Worksheet, Cell As Range
    For Each F1 In ThisWorkbook.Worksheets
        With F1
            If Not .Name = "General" Then
                Set Plage = .Range("C3:G20")
                For Z = 22 To 31 Step 1
                    For Each Cell In Plage
                        If Cell.Value = Cells(Z, 1).Value Then
                            Cell.Interior.Color = .Cells(Z, 1).Interior.Color...
Bonjour peychris, le forum

à tester ! et il ne peut y avoir qu'une seule macro avec ce nom "colorisertableau" tu as laissé le même nom pour toutes tes macros, pas bon, il doit y avoir unicité du nom pour une sub.

Bien cordialement, @+
VB:
Sub Coloriser_tableaux()
    Application.ScreenUpdating = False
    Dim F1 As Worksheet, Cell As Range
    For Each F1 In ThisWorkbook.Worksheets
        With F1
            If Not .Name = "General" Then
                Set Plage = .Range("C3:G20")
                For Z = 22 To 31 Step 1
                    For Each Cell In Plage
                        If Cell.Value = Cells(Z, 1).Value Then
                            Cell.Interior.Color = .Cells(Z, 1).Interior.Color
                            Cell.Font.Color = .Cells(Z, 1).Font.Color
                        End If
                    Next
                Next Z
            End If
        End With
    Next F1
    Application.ScreenUpdating = True
End Sub
 
Dernière édition:
- 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
4
Affichages
177
Réponses
7
Affichages
211
Réponses
8
Affichages
466
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
16
Affichages
1 K
Réponses
1
Affichages
520
Retour