masquage colonnes sur plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion océanne
  • 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 !

océanne

XLDnaute Occasionnel
Bonjour le forum,

L'un d'entre vous pourrait-il m'aider ?

Je recherche à écrire un code qui me permet d'appliquer à toutes les feuilles de mon classeur (sauf deux : "feuille base" et "feuille mode opératoire") le masquage des colonnes comme dans la feuille qui s'appelle "feuille source".

Je reformule mon objectif est le suivant : Chaque fois que je changerai le masquage ou demasquage de colonnes en "feuille source" que cette opération soit faite automatiquement dans toutes les autres feuilles du classeur sauf les deux citées ci-dessus.

Merci d'avance pour votre patience.

Océanne.
 
Re : masquage colonnes sur plusieurs feuilles

Bonsoir,

Je te propose une solution un peu tirée par les cheveux mais qui fonctionne... Si ça peut te convenir🙄
Code:
Sub Masque()
Dim i As Byte
Dim Masq As String, Selec As String
Masq = InputBox("Indiquer les colonnes devant être masquées. (Saisir les colonnes à la suite en les séparant d'un espace)")
Selec = ""
For i = 1 To Len(Masq) Step 2
    Selec = Selec & Mid(Masq, i, 1) & 1 & ","
Next
If Right(Selec, 1) = "," Then Selec = Left(Selec, Len(Selec) - 1)
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Base" And Sheets(i).Name <> "Mode opératoire" Then
        Sheets(i).Range(Selec).EntireColumn.Hidden = True
    End If
Next
End Sub
A toi de définir le mode d'appel de la macro qui te convient et à toi de l'adapter pour déprotéger les feuilles...😀

Cordialement

Edit : Un bémol tout de même... Si ça te convient, il faudra améliorer le code car ne traite pas les colonnes après Z!... Pff, c'est nul!
 
Dernière édition:
Re : masquage colonnes sur plusieurs feuilles

Re,
Comme je ne pouvais pas en rester là : une modif qui permet de gérer toutes les colonnes. Un peu laborieux quand même!
Code:
Sub Masque()
Dim i As Byte
Dim Masq As String, Selec As String
Masq = InputBox("Indiquer les colonnes devant être masquées. (Saisir les colonnes à la suite en les séparant d'un espace)")
Selec = ""
For i = 1 To Len(Masq) Step 2
    If Mid(Masq, i + 1, 1) = " " Then
        Selec = Selec & Mid(Masq, i, 1) & 1 & ","
    Else
        Selec = Selec & Mid(Masq, i, 2) & 1 & ","
        i = i + 1
    End If
Next
If Right(Selec, 1) = "," Then Selec = Left(Selec, Len(Selec) - 1)
For i = 1 To Sheets.Count
    If Sheets(i).Name <> "Base" And Sheets(i).Name <> "Mode opératoire" Then
        Sheets(i).Range(Selec).EntireColumn.Hidden = True
    End If
Next
End Sub
Cordialement
 
Re : masquage colonnes sur plusieurs feuilles

Bonjour Oceanne, Spitnolan

une autre solution, si j'ai bien compris...

Code:
Sub test()
Dim maplage As Range, ws As Worksheet
Set maplage = Range("A:IV")
For c = 1 To maplage.Columns.Count
    If maplage(1, c).EntireColumn.Hidden = True Then
        For Each ws In Worksheets
            If ws.Name <> "xx" Then ws.Columns(c).EntireColumn.Hidden = True
        Next ws
    End If
Next c
End Sub

bonne journée
@+
 
- 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

A
Réponses
2
Affichages
1 K
AntoineLTO
A
J
Réponses
3
Affichages
1 K
Janis
J
A
Réponses
2
Affichages
1 K
Archeon
A
R
Réponses
4
Affichages
2 K
Romane.
R
I
Réponses
5
Affichages
2 K
I
A
Réponses
2
Affichages
1 K
arhezroq
A
S
Réponses
19
Affichages
4 K
saoud.az
S
G
Réponses
6
Affichages
2 K
G
Retour