Ajouter des pages dans un multipage

rlebigre

XLDnaute Nouveau
Bonjour à tous,

J'ai créer un usf afin de reprendre les données dans un classeur excel et de les presenter dans un multipage.

J'ai trouver le moyen de creer le nombre de page en fonction du nombre de feuille comprises dans le classeur.

Je voudrais maintenant que dans chaque page ainsi crée, apparaisse les intitules qui sont marque dans les 1ere cellules de chaque colonne.

Quelqu'un pourrait'il m'aider

Merci d'avance.
 

Pièces jointes

  • multipage.xls
    29.5 KB · Affichages: 102
  • multipage.xls
    29.5 KB · Affichages: 98
  • multipage.xls
    29.5 KB · Affichages: 115

rlebigre

XLDnaute Nouveau
Re : Ajouter des pages dans un multipage

Salut Hervé

Je vais essayer d'etre plus clair alors.

Je voudrais que dans chaque page crée à partir des feuilles, je voudrais creer d'autres pages qui reprendraient la valeur de la première cellule.

Voila j'espere avoir été assez clair.

Merci d'avance.
 

Hervé

XLDnaute Barbatruc
Re : Ajouter des pages dans un multipage

bonjour :)

je ne sais pas ce que tu comptes faire avec cet userform, mais il me semble que tu va devenir chauve rapidement :)

pas facile à gérer les controles créés dynamiquement.

le code :

Code:
Private Sub userform_initialize()
Dim pge As Page
Dim multi As MultiPage
Dim ws As Worksheet
Dim i As Byte
dim colonne as byte

For Each ws In Worksheets
    Set pge = MultiPage1.Pages.Add
    pge.Caption = ws.Name
    Set multi = Me.MultiPage1.Pages(pge.Index).Add("Forms.MultiPage.1")
    multi.Width = Me.MultiPage1.Width - 5
    colonne = ws.Range("iv1").End(xlToLeft).Column
    If colonne > 2 Then
        For i = 3 To colonne
            multi.Pages.Add
        Next i
    End If
    For i = 1 To colonne
        multi.Pages(i - 1).Caption = ws.Cells(1, i)
    Next i
Next ws

End Sub
salut
 

Pièces jointes

  • multipage.zip
    8.8 KB · Affichages: 72
  • multipage.zip
    8.8 KB · Affichages: 65
  • multipage.zip
    8.8 KB · Affichages: 70

rlebigre

XLDnaute Nouveau
Re : Ajouter des pages dans un multipage

Bonjour Hervé

Pour te rassurer, je ne suis pas encore chauve.

Ta macro marche impec. Merci pour ton coup de main. Je voudrais figer la largeur et la hauteur des pages ainsi crée.

J'ai essayer un truc du genre:
Pour les multipages:
multi.Width = 348
mutli.Height = 276

et pour les pages:
mutli.Pages(i - 1).Width = 330
mutli.Pages(i - 1).Height = 246

il me renvoi l'erreur
"Erreur d'execution "424"
Objet requis
avec les boutons OK et Aide

L'aide ne m'apporte aucun secours

Merci d'avance pour tout l'aide que tu m'apporteras (sans oublie les gens du forum).

A+
 

Hervé

XLDnaute Barbatruc
Re : Ajouter des pages dans un multipage

bonjour

pour ton premier code, relis ton post, la réponse est dedans :p

multi.Width = 348
mutli.Height = 276

pour ton deuxième code, pas sur d'avoir compris, mais tu ne peux pas donner des dimensions différentes entre le multipage et les pages qui le compose.

en somme on dimensionne le multipage mais pas ces pages (ce n'est qu'un ensemble).

salut
 

rlebigre

XLDnaute Nouveau
Re : Ajouter des pages dans un multipage

Bonjour Hervé, bonjour le forum,

Désolé pour ce temps de reponse mais je n'avais plus acces à internet. J'avais trouvé la reponse avant de lire la tienne. Merci quand meme.

Je voudrais maintenant creer une listbox dans chaque page et lui donner un nom en du genre:
"listbox"+nom onglet+nom multipage

J'arrive bien à créer la listbox mais je n'arrive pas à la nommer.

Je joint mon fichier pour comprendre

Merci de m'aider.

A+
 

Pièces jointes

  • multipage.xls
    30.5 KB · Affichages: 101
  • multipage.xls
    30.5 KB · Affichages: 93
  • multipage.xls
    30.5 KB · Affichages: 89

Hervé

XLDnaute Barbatruc
Re : Ajouter des pages dans un multipage

bonjour :)

en piece jointe ton fichier modifié.

tu as un souci sur les noms de tes listbox, tu as plusieurs controles ayant le meme nom.

je t'ai listé en colonnne E les noms de tes controles pour que tu puisse voir.

le souci vient de cette ligne :

nomlistbox = "listbox" & "_" & Mid(ws.Cells(1, i), InStrRev(ws.Cells(1, i), "Couples de ") + 11) & "_" & ws.Name

la partie en rouge ne retourne rien.

c'est peut etre normal, je sais pas

il est inutile de sélectionner des feuilles ou des cellules, je t'ai passé en commentaire les lignes inutiles.

pour remplir les listbox, regarde vers : .additem

salut
 

Pièces jointes

  • multipage.zip
    11.9 KB · Affichages: 80
  • multipage.zip
    11.9 KB · Affichages: 76
  • multipage.zip
    11.9 KB · Affichages: 79

rlebigre

XLDnaute Nouveau
Re : Ajouter des pages dans un multipage

Bonjour Hervé,

Merci beaucoup pour ton aide. La macro marche à la perfection.

La ligne :
nomlistbox = "listbox" & "_" & Mid(ws.Cells(1, i), InStrRev(ws.Cells(1, i), "Couples de ") + 11) & "_" & ws.Name

ne te renvoi rien car le fichier que j'ai joint est une version simplifié de mon fichier. Sur le mien ca marche impec.

je suis pas tres familiariser avec les boucles with ... end with. Faudrait que m'y mette pour les utiliser.

Merci encore et peut etre à une prochaine.

A+
Rlebigre
 

Discussions similaires

Réponses
20
Affichages
882

Statistiques des forums

Discussions
312 670
Messages
2 090 742
Membres
104 644
dernier inscrit
MOLOKO67