Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Multipage variable

marg55

XLDnaute Nouveau
Bonjour, j'aimerai ajoute des labels sur une multipage, jusque la je sais faire. Maintenant j'aimerais pouvoir dire à mon programme de faire une boucle pour ajouter les labels mais que ce ne soit pas toujours sur le même onglet.
Pour être plus claire, un exemple: j'ai dix ligne, je veux que au bout de la 5ème ligne on affiche les labels sur l'onglet 2, mais cela peut varier, si j'ai 12 lignes j'en veux 6 sur chaque, ou je peux en vouloir 2 sur la première, 6 sur la deuxième et 4 sur la troisième.
Dans tous les cas je ne veux réaliser qu'une boucle d'insertion de label sur la multipage quelque soit le numéro de la page sur laquelle on veut insérer les labels.
je vous joins ce que j'aimerais avoir : que N°page soit une variable (je me débrouillerai pour lui donner une valeur, je ne sais juste pas comment l'écrire pour que le label soit bien mis en place. )
VB:
For i = 1 To DerniereLigne
         Set newLabel = newMultipage.Page(N°page).Controls.Add("Forms.Label.1", "Label" & i, True)
            newLabel.Top = 20 * i
            newLabel.Left = 20
            newLabel.Width = 260
            newLabel.Height = 20
            newLabel.Caption = Cells(i, 8)
        
        Next i

Merci à tous,
 

vgendron

XLDnaute Barbatruc
Bonjour

et donc, le numéro de page change à la moitié du nombre de ligne (5 pour 10 et 6 pour 12)
il faut donc calculer le numéro de page en fonction de i et du nombre de ligne
Ex:
NbLigne=10

NumPage= ENT((i-1)/(NbLigne/2))
 

marg55

XLDnaute Nouveau
c'est certain mais la phrase
Set newLabel = newMultipage.Page(N°page).Controls.Add("Forms.Label.1", "Label" & i, True)

Ne fonctionne pas! j'aimerais savoir comment l'écrire pourqu'elle fonctionne
 

marg55

XLDnaute Nouveau
oui bien sur j'ai essayé mais ca ne fonctionne pas ni avec un s a page, ni sans parenthèse, la syntaxe doit être très différentes mais je ne parviens pas à trouver laquelle
 

marg55

XLDnaute Nouveau
Bonjour, ce que je ne sais pas faire c'est mettre une variable


La maniere qui marche c'est :
Set newLabel = newMultipage.Page1.Controls.Add("Forms.Label.1", "Label" & i, True)

Je vous envoie mon fichier
 

Pièces jointes

  • test 3.3.2 - Multipagepage2.xlsm
    29.1 KB · Affichages: 9

marg55

XLDnaute Nouveau
Bonjour ChTi!

Cela peut varier car je vais également créer dynamiquement plusieurs multipages et pour chacune j'aimerai utiliser les mêmes boucles, certaines mutlipages n'auront que deux labels, d'autres en auront bien plus, 20,30,... De manière aléatoire ! alors je veux les répartir uniformément sur les pages des multipages. Mais ma priorité et de comprendre comment indiquer au programme que l'ajout de label se fait de manière variable sur les pages.
 

marg55

XLDnaute Nouveau
Merci à vous deux ! c'est étrange, la solution j'avais bien l'impression de l'avoir tester mais ca ne fonctionnait pas... Peut etre que j'ai mal réalisé mes tests... Je vous remercie, por ces infos et pour votre temps!
 

Discussions similaires

Réponses
2
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…