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
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...
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.
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 ?
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
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