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

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

  • Classeur2.xlsm
    13.4 KB · Affichages: 17

sylvanu

XLDnaute Barbatruc
Supporter XLD
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.
 

SPGoder

XLDnaute Occasionnel
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
 

patricktoulon

XLDnaute Barbatruc
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
 

SPGoder

XLDnaute Occasionnel
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
 

SPGoder

XLDnaute Occasionnel
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
 

patricktoulon

XLDnaute Barbatruc
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:

patricktoulon

XLDnaute Barbatruc
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
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
325

Statistiques des forums

Discussions
312 321
Messages
2 087 249
Membres
103 498
dernier inscrit
FAHDE