Userform multipage

Romain13600

XLDnaute Nouveau
Bonjour,

Je suis nouveau sur ce site et c'est donc ma première discussion
Je précise également que je ne sui pas du tout un expert en vba

J'ai réussi a faire ce que je voulais avec index equiv ( a droite de ma base de données)
mainteant j'aimerais faire la méme chose sur la premiere page de mon userform "Multipage"

Voici ma demande

J'aimerais trouver le code adéquat pour la première page de mon Userform "Multipage"

Dans cette page "calcul", j'aimerais qu'après sélection du code index et de la date, le montant de l'indice s'affiche dans la textbox (indice mois d'éxécution Im)
Pour l'instant ma ComboBoxDate est vide car je n'arrive pas à transposer les valeurs

j'espéré que ma demande est compréhensible,

J'attends vos suggestions
merci d'avance
 

Pièces jointes

  • INDEXBTP_FR_0121 Romain VBA INDEX.xlsm
    160.2 KB · Affichages: 20
Solution
Bonjour Romain,

bienvenue sur le site XLD ! :)

sur "Feuil1", j'ai amélioré ce que tu avais fait à droite de ta base de données ; tu peux changer la Date et le Code comme tu faisais d'habitude, mais attention : pour changer le Libellé, ce n'est plus en CM4 mais en CM5 ! note bien que si tu changes le Libellé, ça change le Code ; et inversement, si tu changes le Code, ça change le Libellé ; l'indice n'est plus affiché en CN1 mais en CN3 ; à toi de vérifier que ça montre bien le bon indice ; Ctrl t affiche le...​

soan

XLDnaute Barbatruc
Inactif
Bonjour Romain,

bienvenue sur le site XLD ! :)

sur "Feuil1", j'ai amélioré ce que tu avais fait à droite de ta base de données ; tu peux changer la Date et le Code comme tu faisais d'habitude, mais attention : pour changer le Libellé, ce n'est plus en CM4 mais en CM5 ! note bien que si tu changes le Libellé, ça change le Code ; et inversement, si tu changes le Code, ça change le Libellé ; l'indice n'est plus affiché en CN1 mais en CN3 ; à toi de vérifier que ça montre bien le bon indice ; Ctrl t affiche le tableau de ta base de données ; Ctrl m masque de nouveau le tableau ; Ctrl e montre le formulaire Multipage ; à toi d'essayer l'onglet "Affichage", puis l'onglet "Calcul".

j'ai fait la même chose pour les 2 autres formulaires ; je te laisse les essayer aussi ; ensuite, il te reste à lire tout le code VBA du classeur. 😜

soan
 

Pièces jointes

  • INDEXBTP_FR_0121 Romain VBA INDEX.xlsm
    109.7 KB · Affichages: 16
Dernière édition:

Romain13600

XLDnaute Nouveau
Merci beaucoup pour ton aide Soan, c'est vraiment ce que je souhaitais obtenir

J'aimerais bien que le libellé index soit également présent sur la première page du multipage

Mon autre souhait serait de pouvoir faire une édition sur une page Excel en fonction des choix réalisés.
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Romain,

dans le fichier joint, le libellé index est également présent sur la 1ère page du multipage. :)

par "édition", tu veux bien dire une impression, n'est-ce pas ? donc tu voudrais imprimer "Feuil1", mais ton « en fonction des choix réalisés n'est pas très clair ! » ; c'est où, ces choix ? sur "Feuil1", selon la Date de CM2, le Libellé de CM5 ou le Code de la ListBox de CM7 ? ou c'est des choix que tu fais dans un UserForm ? si oui, lequel ? quels sont les contrôles du UserForm que tu utilises ? quel est au juste le résultat attendu ?​

soan
 

Pièces jointes

  • INDEXBTP_FR_0121 Romain VBA INDEX.xlsm
    110.4 KB · Affichages: 13
Dernière édition:

Romain13600

XLDnaute Nouveau
Merci Soan pour ta réponse

Concernant l'édition, oui c'est plutôt une "impression" qui va me permettre d'avoir une trace des résultats obtenus de la première page "CALCUL" du frm01_Multipage
Le but recherché est de montrer que je ne sort pas ces résultats de nulle part
 

soan

XLDnaute Barbatruc
Inactif
Bonjour Romain,

désolé pour l'énorme retard, mais j't'ai pas oublié ! :)

ouvre le fichier joint ; ne change rien sur "Feuil1", c'est inutile.

fais directement Ctrl e ➯ ça affiche le formulaire "Multipage"

oh ! y'a un nouveau bouton violet ! 😲


sur le formulaire, il n'y a pour l'instant que les 2 Variables.

ne change rien, et clique sur le bouton violet ➯ message.

clique sur le bouton OK.

ne quitte pas Excel ; Windows e ➯ fenêtre Explorateur de fichiers

va dans le dossier où tu as mis le classeur Excel, et lis "Infos.txt".

c'est un fichier texte que tu peux lire, et éventuellement imprimer.



retourne sur la fenêtre d'Excel. (où ton UserForm est toujours affiché)

* pour Code index, choisis l'item "BT10"
Libellé index : "Revêtements en plastique"

* pour la Date, choisis le 1er item "octobre 2014"
Indice mois d'exécution (Im) : 106,4

* pour Indice mois de référence (I0), mets 100

* clique sur le bouton bleu "Calculer"
Résultat : 1,054

clique sur le bouton violet ➯ message.

clique sur le bouton OK.

de la même façon qu'avant, va lire "Infos.txt".

imprime-le seulement si c'est nécessaire, pour économiser
du papier, et préserver la Planète et l'Environnement. 🙂



dans le code VBA du module de frm01_Multipage, juste sous la sub cmdRecherche_Click(), j'ai ajouté la sub cmdPrintFile_Click(), et naturellement, c'est elle qui est appelée par le bouton violet.​

VB:
Private Sub cmdPrintFile_Click()
  Dim s$: Const nl As String * 2 = vbCrLf
  Open ThisWorkbook.Path & "\Infos.txt" For Output As #1
    s = "Infos.txt ; " & Format(Now, "dd/mm/yy hh:mm") & nl & String$(26, "=")
    Print #1, s
    If cbCode1 <> "" Then Print #1, nl & "Code index : " & cbCode1
    If tbLib1 <> "" Then Print #1, "Libellé index : " & tbLib1
    If cbDate <> "" Then Print #1, "Date : " & cbDate
    If tbIm <> "" Then Print #1, nl & "Indice mois d'exécution (Im) : " & tbIm
    If tbI0 <> "" Then Print #1, "Indice mois de référence (I0) : " & tbI0
    If tbV1 <> "" Then Print #1, nl & "Variable 1 : " & tbV1
    If tbV2 <> "" Then Print #1, "Variable 2 : " & tbV2
    If tbRésultat <> "" Then Print #1, nl & "Résultat : " & tbRésultat
  Close #1
  s = "Les infos ont été écrites dans le fichier ""Infos.txt""."
  MsgBox s, 64, "Infos.txt"
End Sub

soan
 

Pièces jointes

  • INDEXBTP_FR_0121 Romain VBA INDEX.xlsm
    113.1 KB · Affichages: 31
Dernière édition:

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088