Multipage dynamique

keepcool183

XLDnaute Occasionnel
bonjour à tous,

Je reviens vers vous pour une dernière manip, j'ai une textbox où l'utilisateur est censé saisir le nombre de produit. suivie d'un multipage avec une page par produit.

J'aimerais que par exemple s'il saisit 3, le meme nombre de multipage s'affiche.

Merci à ceux qui me liront :)
 

keepcool183

XLDnaute Occasionnel
Re : Multipage dynamique

Bonjour Gael, le forum

J'ai utulisé ton code mais ça crée un bu, j'ai donc ajouté :

Qtépdt.value = nb ("qtépdt" étant une textbox)

mais ça ne marche toujours pas :D

Juste une petite précision la textbox "qtépdt" est dans USF1 et le multipage est dans USF2.

Merci ;)
 

Gael

XLDnaute Barbatruc
Re : Multipage dynamique

Re,

Essaye d'abord avec une constante pour voir si ça marche, puis tu peux mettre la valeur de la textbox dans une variable publique que tu pourras utiliser dans USF2.

Sinon, envoie un exemple de ton fichier.

@+

Gael
 

Pierrot93

XLDnaute Barbatruc
Re : Multipage dynamique

Bonjour keepcool, Gael

si j'ai bien compris... regarde le code ci-dessous si cela peut t'aider, nom des objets à adapter, à condition que les 2 usf soient chargés en mémoire.

Code:
Dim i As Byte
If Not IsNumeric(UserForm1.TextBox1.Value) Then Exit Sub
For i = 0 To UserForm1.TextBox1.Value - 1
    If i > UserForm2.Pages.Count - 1 Then UserForm2.MultiPage1.Pages.Add
Next i

bon après midi
@+
 
Dernière édition:

keepcool183

XLDnaute Occasionnel
Re : Multipage dynamique

Bonjour Pierrot93, gael, le forum,

J'ai adapté ton code et il marche trés bien mais le seul soucis qu'il crée des nouvelles pages dans le multipages ;)

Ce que j'aimerais faire c'est seulement les afficher (vu le nombre de données et de contrôles que j'ai mis dedans, j'ai préferé les créées).

J'ai essayer de modifier ton code en remplacant ".add" par ".show" mais ça ne marche pas probablement à cause du "count".

Enfin, comme l'indice de la première page est "0" le code donne toujours un nombre de pages inférieur à la saisie (saisie 4 pages ajoutées 3) :D.

C'est vrai casse tete chinois mais je sais que le code est tout simple :D

Merci :)
 

Gael

XLDnaute Barbatruc
Re : Multipage dynamique

Re,

Et si tu envoyais un exemple de ton fichier avec les 2 USF ;)

@+

Gael

PS: Dans le code proposé, il faut remplacer "Multipage" par le nom de ton Multipage.

PS2: si incompatibilité de type, c'est que le Textbox1.value n'est pas numérique, essaye de mettre:
Cint(USF1.Textbox1.value) (Cint convertit en un nombre entier)
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Multipage dynamique

re,

une autre solution, avec beaucoup de retard...

Code:
Dim i As Byte
For i = 0 To UserForm2.MultiPage1.Count - 1
    UserForm2.MultiPage1.Pages(i).Visible = IIf(i <= UserForm1.TextBox1.Value - 1, 1, 0)
Next i
@+

Edition : erreur de copier coller... aarf ces mobiles....
 
Dernière édition:

keepcool183

XLDnaute Occasionnel
Re : Multipage dynamique

Re Gael, Pierrot 93,

Voici un bout du fichier par contre j'ai du enlever pas mal de données pour pouvoir l'uploadé.

Donc s'il y a un bug à cause de feuille manquante ou de lien qui n'existe plus ne t'en fais pas c'est normal.:)

En ésperant que ça t'aidera à y voir plus clair.

PS : 1/ Oui, j'ai changé les valeurs avec les miennes.
2/ Pierrot93 je teste tes modifs tout de suite :)
Merci ;)

EDIT: Pierrot93, je pense que tu t'est trompé :p c'est le même code que tout à l'heure avec en plus USF2 partout. (la textbox est dans USF1 et la multipage dans le USF2 :))
 

Pièces jointes

  • txtbox multi.zip
    23.7 KB · Affichages: 40
Dernière édition:

Gael

XLDnaute Barbatruc
Re : Multipage dynamique

Re,

Comme quoi les exemples sont utiles. Le code était à placer dans l'initialize de USF2 et non pas dans le code de l'USF1.

Il fallait bien mettre un Cint() pour avoir un nombre entier et faire
Pages.Count -1 puisque l'index commence à 0.

Voir fichier joint.

@+

Gael
 

Pièces jointes

  • Multipage_V1.zip
    20.6 KB · Affichages: 107

Discussions similaires

Statistiques des forums

Discussions
312 595
Messages
2 090 093
Membres
104 374
dernier inscrit
cheick.coulibaly@dcsmali.