Faire une action sur plusieurs onglets

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

Elo6b

XLDnaute Nouveau
Bonjour,
Sur cette action :
With Sheets("A-1")
Select Case n
Case 1
.Columns("h:gz").Hidden = False
.Columns("I:L").Hidden = True
.Columns("o😛").Hidden = True
.Columns("T:Y").Hidden = True
.Columns("AA:AC").Hidden = True
.Columns("AE:EZ").Hidden = True
.Columns("FC:FF").Hidden = True
.Columns("FH:FK").Hidden = True
.Columns("FM:FP").Hidden = True
.Columns("FR:FU").Hidden = True
.Columns("FW:fz").Hidden = True
Range("G9").Select
End Select
End With

Je voudrai également le faire sur un autre onglet "A prévisionnelle". Comment l'intégrer en même temps que le With Sheets("A-1") ?
En vous remerciant de votre aide!
 
Re : Faire une action sur plusieurs onglets

Bonjour Elo6b, Bonjour natorp, Bonjour stefan, 🙂

à tester

Code:
Dim Sht As Worksheet, n As Long
    For Each Sht In Sheets(Array("A-1", "A previsionnel"))
        With Sht
        Select Case n
            Case 1
                .Columns("h:gz").Hidden = False
                .Range("I:L,o:P,T:Y,AA:AC,AE:EZ,FC:FF,FH:FK,FM:FP,FR:FU,FW:fz").EntireColumn.Hidden = True
                .Activate
                .Range("G9").Select
            End Select
        End With
    Next
 
Re : Faire une action sur plusieurs onglets

Re, re,

Effectivement il y a peut-être une partie du code non dévoilée, mais en l'état du code envoyé, je pense qu'il ne ce passerai rien. 😕 et j'avais bien lu 1 et pas l. 🙂

Merci pour votre réponse.

A + Stéfan
 
Re : Faire une action sur plusieurs onglets

Re,

Oui, il doit nous manquer du code

Code:
Select Case n
    Case 1

Signifie : teste la valeur de la variable n
Si elle vaut 1, fait ce qui suit, jusqu'au prochain Case ou jusqu'au End Select
En général on fait un Select Case quand il y a beaucoup de cas, le fait qu'il n'y en ait qu'un veut surement dire qu'il ne nous a pas fourni les autres cas
Je ne sais pas si je répond à ta question, je ne sais pas ce qui te gène dans l'écriture...

Edit : si n n'est pas défini dans la première partie du code, en effet, il ne se passera rien puisque n ne sera pas égal à 1, d'accord avec toi 😉
 
Re : Faire une action sur plusieurs onglets

Re, re, re, 🙂

C'est bien ce que ma pensée me disait,😛 mais effectivement vous avez encore une fois raison car aucun intérêt d'utiliser le Case avec une seule possibilité. 😎

Un grand merci pour votre explication. 🙂

A + Stéfan
 
Re : Faire une action sur plusieurs onglets

Effectivement j'ai 11 cas qui s'imbriquaient.
Si n=1 alors c'est le cas que j'avais mis.
Par contre si n=2, colonnes différentes masquées, etc...
Comment dois-je faire après le next? Faut-il reprendre :
Dim Sht As Worksheet, n As Long
For Each Sht In Sheets(Array("A-1", "A previsionnel"))
With Sht
Select Case n
Case 2
.Columns("h:gz").Hidden = False
.Range("I:L,o😛,T:Y,AA:AC").EntireColumn.Hidden = True
.Activate
.Range("G9").Select
End Select
End With
Next
Et refaire pareil pour chaque n?
En vous remerciant de votre aide!
 
Re : Faire une action sur plusieurs onglets

Re,

Si tu vas en mode avancé quand tu écris ton message, tu as une balise code (#) qui permet de poster du code de façon plus lisible

ça devrait donner un truc comme ça


Code:
For Each Sht In Sheets(Array("A-1", "A previsionnel"))
        With Sht
        Select Case n
        Case 1
         .Columns("h:gz").Hidden = False
         .Range("I:L,o:P,T:Y,AA:AC,AE:EZ,FC:FF,FH:FK,FM:FP,FR:FU,FW:fz").EntireColumn.Hidden = True
         .Activate
         .Range("G9").Select
            Case 2
                .Columns("h:gz").Hidden = False
                .Range("I:L,o:P,T:Y,AA:AC").EntireColumn.Hidden = True
                .Activate
                .Range("G9").Select
            End Select
        End With
    Next
 
Re : Faire une action sur plusieurs onglets

Ca ne fonctionne pas... Bug au niveau de la ligne
Code:
For Each Sht In Sheets(Array("A-1", "A previsionnelle"))
Je mets le fichier en pièce jointe
Merci de vos aides!
 

Pièces jointes

Re : Faire une action sur plusieurs onglets

Bonsoir kjin,
C'est le même fichier mais avec des soucis différents!
Sur la précédente discussion, le but était de faire un affichage dépend de 2 cellules.
ici, j'y arrive (grâce à vous!) sur un onglet mais pas sur 2 à la fois (les 2 onglets sont construits de manière identiques).
Je n'arrive pas à faire parcourir l'action sur les 2 onglets.
Merci de votre aide et bonne soirée!
 
Re : Faire une action sur plusieurs onglets

Bonsoir,
C'est le même fichier mais avec des soucis différents!
Mouais ! Inutile de multiposter sur le même sujet, on fini par ne plus suivre le fil...
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$24" Or Target.Count > 1 Then Exit Sub
n = [choix_actuel]
For Each ws In Sheets
    Select Case ws.Name
    Case "A-1", "A Prévisionnelle"
    With ws
        Select Case n
        Case 1 To 5
            .Columns("H:FZ").Hidden = True
            x1 = (n * 30) - 22
            x2 = (n * 30) + 6
            .Range(.Columns(x1), .Columns(x2)).Hidden = False
            For x3 = 1 To 5
                .Columns(x3 * 5 + 152 + n).Hidden = False
            Next
        Case 6
            .Columns("H:FZ").Hidden = False
        End Select
    End With
    End Select
Next
End Sub
Mais il est vrai que je n'ai pas traité les cas > 6 car je pensais que tu pourrais compléter (je t'ai répondu sur ce fil)
Reviens si ce n'est pas le cas
A+
kjin
 
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
5
Affichages
477
Réponses
22
Affichages
3 K
Réponses
7
Affichages
1 K
Réponses
13
Affichages
2 K
Retour