Repoduire la mise en forme sur toutes les feuilles

Bonjour à tous,

Etant nouveau et encore en mode découverte des Macro je me retrouve face à un soucis que je ne comprend pas

j'ai créer une macro (ci dessous) dans un ToggleButon me permettant d'afficher et de masquer certains onglets

Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False
        Sheets("Extraction Globale").Visible = Me.ToggleButton1.Value
        Sheets("Extraction DR PACA").Visible = Me.ToggleButton1.Value

        Me.ToggleButton1.Caption = IIf(Me.ToggleButton1, "Masquer", "Afficher")
            Me.ToggleButton1.BackColor = IIf(Me.ToggleButton1, vbRed, vbGreen)

    If Me.ToggleButton1.Caption = "Afficher" Then
    Range("D3") = Format(Date, "dd/mm/yyyy")

    ActiveWorkbook.RefreshAll

    End If
End Sub

Cependant j'aurais aimé rajouté à ce ToggleButton une partie mise en forme de certains onglets actif lorsque je masque les premiers.

Et c'est la que ça se complique. Le code de la mise en forme ci dessous, fonctionne si je le mets dans un module et que je l'active à l'aide d'un bouton normal mais ne fonctionne pas si je l'intègre à ma Macro du dessus sans que je comprenne pourquoi...

Sub Bouton6_Cliquer()
 Dim WS As Worksheet
 Application.ScreenUpdating = False
 For Each WS In ActiveWorkbook.Worksheets
WS.Activate

  If WS.Name <> "Tableau de bord" And WS.Name <> "Extraction DR PACA" And WS.Name <> "Extraction Globale" Then
     Range("P:P").Select
    Selection.Copy
    Columns("S:T").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("Tableau de Bord").Select
End If
 Next WS
End Sub

J'en appel donc à votre savoir et à votre aide! Je joints une petit copie du fichier qui marche pas non plus !

Désolé par avance si mon codage et laid (ce qui ne serais pas étonnant) je ne suis qu'un débutant

ET Merci d'avance pour vos réponses et solutions proposées

bonjour

pourquoi masquer des onglets, surtout qu'on dirait bien que ce sont les mêmes à un filtre près

fais un unique onglet (de type TCD) avec un joli filtre (segment) que les consommateurs n'ont qu'à cliquer

du coup, pas besoin de VBA

Merci pour ton retour, je suis d'accord avec toi mais malheureusement ce n'est pas moi qui décide T-T

En fait, j'ai une 30aine d'établissement qui tous les mois me donnent leurs effectifs que je stock dans les onglets que je masque.

je regroupe les effectifs dans un tableau globale, puis TCD, mais je dois quand même garder les fichiers des établissements dans des onglets séparés (volonté du supérieur...). Du coup je les masquent pour avoir moins de feuilles en vue.

Après le but final est de travailler chaque chaque établissement séparément pour determiner les besoin en recrutement en mettant en place un suivie mensuel... Du coup il faut que j'arrive à faire fonctionner les 2 Macros ensembles pour passer à l'étape suivante qui est d'insérer automatiquement des formules dans les colonnes qui subirons la mise en page de la 2e Macro

re

solution :

  • garder tes 30 onglets comme tu le fais (ton chef sera content). Mais ne pas les utiliser
  • mettre les 30 fichiers xlxs ou csv que te donnent les 30 collègues dans un unique répertoire
  • faire menu Données, Power Query, "depuis un dossier" ou "depuis un répertoire"
ceci te concatène les 30 !

"charger" nouvel onglet

tu as ton onglet avec toutes les données

tu peux faire des TCD

avec ton Excel 2010

https://www.youtube.com/watch?v=gwW2CDdvUUs

gratuit

il est maintenant intégré à Excel depuis 5 ou 6 ans

Ouais je pense que je vais faire comme ça !

Merci beaucoup pour ton aide !

Rechercher des sujets similaires à "repoduire mise forme toutes feuilles"