Peut-on dupliquer la page d'un MultiPage

Bonjour,

Je dois créer un MultiPage avec 4 pages pratiquement identiques, seuls 1 à 2 options / 10 changent à chaque page.

Est-il possible de créer une première page et de la dupliquer 3 fois avant d'effectuer les petites corrections nécessaires à chacune d'elles ?

Je pourrais bien entendu sélectionner toutes les contrôles et les copier-coller, mais leur mise en place n'est pas facile à faire exactement afin qu'on ne remarque pas que l'on change de page.

A vous relire.

12demo-02-05.xlsm (17.03 Ko)

Bonjour Yvouille

A ma connaissance, ce n'est pas possible à part avec un codage VBA pour replacer les contrôles à leur place mais une fois dupliqués

A+

Salut Bruno, merci pour ton aide ; c'est bien ce que je pensais, mais je voulais en avoir le cœur net.

Peux-tu encore m'aider sur cet autre problème :

Dans le fichier ci-joint, si la feuille ''Rapport de séjour'' est visible et que je lance la macro placée derrière le bouton ''Ajout manuel'' sur la feuille ''Liste des participants du jour'', ça ouvre mon formulaire ; la page C de mon MultiPage est visible et ses contrôles sont également visibles.

Si la feuille ''Rapport de séjour'' n'est pas visible, le MultiPage ne montre aucune page et il faut au prèalable cliquer un des boutons afin de rendre les pages A, B ou C visibles ou non. J'ai tenté de faire cela avec le premier bouton d'option ''Membre d'une autre section cantonale'', mais si ma page A est alors bien visible, je dois encore cliquer sur son onglet afin de rendre les contrôles également visibles !!

Sais-tu comment y remédier, comment faire afin que les contrôles de cette page soient immédiatement visibles ?

Amicalement.

13demo-bis.xlsm (79.86 Ko)

Re,

Quel est ta problématique exacte

Car que ton multipage ne soit pas visible quand ta feuille n'e l'est pas, c'est normal

A+

Salut,

Il serait peut-être intéressant pour toi de te diriger plutôt vers un TabStrip et non pas un Multipage. Ceci te permettra de passer en Visible ou pas certains contrôles. les contrôles restent les même c'est la source de données qui change.

19demo-02-05.xlsm (25.26 Ko)

Bonjour Yves,

Une idée. Placez un bouton sur ton userform, coller le code ci-dessous et l'exécuter

Private Sub CommandButton1_Click()
Dim i As Byte
For i = 1 To 3
    UserForm1.MultiPage1.Pages.Add
    With MultiPage1
        .Pages(MultiPage1.Value).Controls.Copy
        .Pages(MultiPage1.Value + i).Paste
    End With
Next i
End Sub

Ensuite tu supprimes le code

Amicalement

Bonjour tout le monde et merci pour vos nombreuses réponses.

@ Dan

Ton code fonctionne bien lorsque le formulaire est ouvert à l'écran, mais ce que j'avais demandé était de pouvoir dupliquer une feuille durant la création de ce UserFrom. Mais inutile de te casser plus la tête, car j'ai finalement fait toutes mes pages manuellement. Dans le fichier ci-joint, il y a un bouton qui permet de constater les essais que j'ai fait sur la base de ton idée.

@ Jean-Paul

J'avais imaginé cette solution, mais comme j'ai parfois des textes explicatifs sous la forme de Label, parfois des TextBox à la place, aux mêmes endroits, ça me semblais plus compliqué que des pages différentes. De plus, je veux pouvoir masquer les pages qui ne sont pas utiles à telles ou telles options et je ne sais pas si l'on peut masquer les onglets de ton contrôle d'onglets.

@ Bruno

J'ai refais un autre fichier peut-être plus explicatif.

Soit on lance un rapport de séjour, soit un rapport de randonnée. Selon l'un ou l'autre, les feuilles ''Rapport de séjour'' ou ''Rapport de randonnée'' se masquent ou s'affichent.

D'où mon passage :

If Sheets("Rapport de séjour").Visible = True Then
..
Else
..
End if

Si je lance un rapport de séjour depuis le feuille ''Liste des participants'', la feuille ''Rapport de séjour'' est visible, le UserForm s'ouvre, l'option logique ''Nouveau membre'' est activée et la page C est la seule visible, DE MEME QUE SES CONTROLES.

Si je lance un rapport de randonnée, la feuille ''Rapport de randonnée'' est visible, le UserFrom s'ouvre mais aucune option n'est activée, car toutes sont possibles. Pour l'exemple, j'ai placé un code derrière l'option ''Membre d'une autre section cantonale'' et lorsque je clique sur cette option, la page A devient bien visible, MAIS SES CONTROLES NON ! Je dois cliquer sur l'onglet A afin que les contrôles deviennent visibles.

Ce que je souhaiterais est que ces contrôles soient visibles en même temps que la page A lorsque je choisi cette option.

Voici un essai avorté en place :

Private Sub OptionButton1_Click()
    MultiPage1.Page1.Visible = True
    MultiPage1.Page1.Enabled = True
End Sub

Est-ce plus clair ?

Amicalement.

11demo-v2.xlsm (83.20 Ko)

Salut Yvouille

Effectivement je comprends mieux et le souci est là

En fait les contrôles s'affichent quand la page à le focus, donc pour régler le problème (testé) il faut lui indiqué

Private Sub OptionButton1_Click()
  Me.MultiPage1.Page1.Visible = True
  Me.MultiPage1.Value = 0
End Sub

Yep

Wow, super !

Merci infiniment pour cette précieuse aide

Merci encore à tous les autres intervenants.

Rechercher des sujets similaires à "dupliquer page multipage"