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 SubCependant 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 SubJ'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"
"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 !