XL 2019 Multipage, disparition des objets suite au masquage de page

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

SPGoder

XLDnaute Occasionnel
Bonjour
Comme expliqué dans le titre, lorsque je cache une page, et la fait réapparaitre ensuite, les objets dans celle ci n'apparaisse plus.
Il doit y avoir une astuce pour les faire réapparaitre tous en même temps, mais je ne la connais pas.
Quelqu'un peut il m'aiguiller svp
 

Pièces jointes

Bonjour SPGoder,
Qu'aviez vous comme objets dans votre feuille ? Car vous n'avez pas de dessins ou figures dans votre feuille.
Essayez cela :
VB:
Sub essai()
    MsgBox "Nombre de shapes dans la page : " & Shapes.Count
End Sub
Pour masquer les onglets, faites Options XL/Options avancées/Afficher les options pour ce classeur et décocher Afficher les onglets du classeur.
 
Je n'arrive pas a intégrer le code fourni au multipage, je suis désolé
J'ai essayé tel quel, erreur
J'ai essayé aussi
Me.MultiPage1.Pages(0).Visible = False
Me.MultiPage1.Pages(1).Visible = True
For Each forme In MultiPage1.Pages(1)
forme.Visible = True
Next forme
 
Je n'arrive pas a intégrer le code fourni au multipage, je suis désolé
J'ai essayé tel quel, erreur
J'ai essayé aussi
Me.MultiPage1.Pages(0).Visible = False
Me.MultiPage1.Pages(1).Visible = True
For Each forme In MultiPage1.Pages(1)
forme.Visible = True
Next forme
a donc quand tu parle de (page/onglet) tu parle de page /onglet) d'un controls multipage dans un userform je suppose

donc pour ce qui est des " forme" que tu ferais bien et vite de les classer dans ta tetes comme des controls
et surtout quand on boucle "for each truc in machin " et qu'il est sensé avoir dans le in différent éléments on utilise la collections approprié
dans ce cas de diversité d'element donc on bouclera sur la collection"Controls"
donc
dim Control
For Each control In MultiPage1.Pages(1).controls
control.Visible = True
Next control
 
Bonjour Patrick
Oui tout à fait. je n'emploie pas les bons terme, merci de l'explication
Mais ça ne fonctionne que sur le premier appuie de chaque bouton, ensuite tout redisparait
VB:
Private Sub CommandButton1_Click()
Me.MultiPage1.Pages(0).Visible = True
Me.MultiPage1.Pages(1).Visible = False
Dim Control
For Each Control In MultiPage1.Pages(0).Controls
Control.Visible = True
Next Control
End Sub

Private Sub CommandButton2_Click()
Me.MultiPage1.Pages(0).Visible = False
Me.MultiPage1.Pages(1).Visible = True
Dim Control
For Each Control In MultiPage1.Pages(1).Controls
Control.Visible = True
Next Control
End Sub
 
j'ai trouvé,
Code:
Private Sub CommandButton1_Click()
Me.MultiPage1.Pages(0).Visible = True
Me.MultiPage1.Pages(1).Visible = False
Dim Control
For Each Control In MultiPage1.Pages(0).Controls
Control.Visible = True
Next Control
End Sub

Private Sub CommandButton2_Click()
Me.MultiPage1.Pages(1).Visible = True
Me.MultiPage1.Pages(0).Visible = False
Dim Control
For Each Control In MultiPage1.Pages(1).Controls
Control.Visible = True
Next Control
End Sub

merci à vous
 
re
d’après toi que fait tu quand tu masque un onglet et en démasque un autre??
je te donne un indice (a aucun moment tu active une page)
c'est bon t'a compris ......
allez tien

VB:
Private Sub CommandButton1_Click()
    With Me.MultiPage1
        .Pages(0).Visible = True
        .Pages(1).Visible = False
        .Value = 0
    End With
End Sub

Private Sub CommandButton2_Click()
    With Me.MultiPage1
        .Pages(0).Visible = False
        .Pages(1).Visible = True
        .Value = 1
    End With
  End Sub
c'est pas parceque tu rend visible 1 seule page qu'elle est active de ce fait tu ne peux pas en voir les controls car elle n'est pas active de la meme maniere que si tu les masquais pas
sinon en temps normal elle serait toute affichées en meme temps
voila jeune homme 😉
maintenant tu sais
demo6.gif
 
Dernière édition:
et pour le fun avec le même bouton tu peux basculer
VB:
Private Sub CommandButton1_Click()
With Me.MultiPage1
x = IIf(.Value = 1, 0, 1)
For Each p In .Pages: p.Visible = False: Next
For Each p In .Pages: If p.Index = x Then p.Visible = True
Next
.Value = x
End With
End Sub
 
- 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
22
Affichages
1 K
Réponses
27
Affichages
2 K
Réponses
4
Affichages
644
Retour