VBA - Problème de MultiPage (Userform)

Zivodul8

XLDnaute Nouveau
Bonjour,

J'ai un souci avec un formulaire, ou plutôt son code et je pense que cela vient de l'utilisation d'un MultiPage.

C'est la première fois que j'utilise un MultiPage et je dois dire que je maîtrise pas vraiment. Mes bugs proviennent du "rafraîchissement" des Labels dans le code de mon UserForm.

Code:
Option Explicit

Private Sub MultiPage1_Change()

End Sub

Private Sub UserForm_Initialize()

UserForm1.Label1.Caption = ""
UserForm1.Label2.Caption = ""
UserForm1.Label3.Caption = ""
UserForm1.Label4.Caption = ""
UserForm1.N1 = ""
UserForm1.P1 = ""
UserForm1.N2 = ""
UserForm1.P2 = ""

UserForm1.Label11.Caption = ""
UserForm1.Label12.Caption = ""
UserForm1.Label18.Caption = ""
UserForm1.Label10.Caption = ""
UserForm1.Eff1 = ""
UserForm1.Note1 = ""
UserForm1.Eff2 = ""
UserForm1.Note2 = ""

End Sub

'POURCENTAGES'

Private Sub CommandButton1_Click()
Call TestSignifPourcent
End Sub

Private Sub N1_Change()Label1.Caption = Range(N1.Text).Value
End Sub

Private Sub P1_Change()
Label2.Caption = Range(P1.Text).Value * 100 & "%"
End Sub

Private Sub N2_Change()
Label3.Caption = Range(N2.Text).Value
End Sub

Private Sub P2_Change()
Label4.Caption = Range(P2.Text).Value * 100 & "%"
End Sub

'NOTES'

Private Sub CommandButton2_Click()
Call TestSignifNote
End Sub

Private Sub Eff1_Change()
Label11.Caption = Range(Eff1.Text).Value
End Sub

Private Sub Note1_Change()
Label12.Caption = Range(Note1.Text).Value * 100 & "%"
End Sub

Private Sub Eff2_Change()
Label18.Caption = Range(Eff2.Text).Value
End Sub

Private Sub Note2_Change()
Label10.Caption = Range(Note2.Text).Value * 100 & "%"
End Sub


Je signale qu'auparavant (sans le MultiPage), je n'avais que les pourcentages et mon code fonctionné très bien.

Merci d'avance !

PS : Je joins mon fichier, la macro à exécuter étant ShowForm() / Il faut également que ça fonctionne sous Mac / Et je suis tout nouveau sur ce forum, alors un peu d'indulgent =)
 

Pièces jointes

  • Classeur3 (% + Notes).xlsm
    28.1 KB · Affichages: 209

Papou-net

XLDnaute Barbatruc
Re : VBA - Problème de MultiPage (Userform)

Bonsoir Zivodul8, et bienvenue sur le site,

Peut-être comme ceci :

Code:
Private Sub UserForm_Initialize()

UserForm1.MultiPage1.Page1.Label1.Caption = ""
UserForm1.MultiPage1.Page1.Label2.Caption = ""
UserForm1.MultiPage1.Page1.Label3.Caption = ""
UserForm1.MultiPage1.Page1.Label4.Caption = ""
UserForm1.MultiPage1.Page1.N1 = ""
UserForm1.MultiPage1.Page1.P1 = ""
UserForm1.MultiPage1.Page1.N2 = ""
UserForm1.MultiPage1.Page1.P2 = ""

UserForm1.MultiPage1.Page2.Label11.Caption = ""
UserForm1.MultiPage1.Page2.Label12.Caption = ""
UserForm1.MultiPage1.Page2.Label18.Caption = ""
UserForm1.MultiPage1.Page2.Label10.Caption = ""
UserForm1.MultiPage1.Page2.Eff1 = ""
UserForm1.MultiPage1.Page2.Note1 = ""
UserForm1.MultiPage1.Page2.Eff2 = ""
UserForm1.MultiPage1.Page2.Note2 = ""

End Sub

Espérant avoir répondu.

Cordialement.
 

Zivodul8

XLDnaute Nouveau
Re : VBA - Problème de MultiPage (Userform)

Mon problème ne vient pas du UserForm_Initialize() mais des codes suivants :
Code:
Private Sub P2_Change()
Label4.Caption = Range(P2.Text).Value * 100 & "%"
End Sub

Et ce pour chaque label que j'utilise! J'ai rajouté "UserForm1.MultiPage1.Page2." et "UserForm1.MultiPage1.Page1." mais pas d'amélioration. En réalité ma macro "tourne" bien, mais elle indique toujours le message d'erreur suivant à la fin :
Code:
Erreur d'exécution " 1004 " :
La méthode "Range" de l'objet "_Global" a échoué

Et cette erreur point sur mes Label4.Caption = Range(P2.Text).Value * 100 & "%"
 

Zivodul8

XLDnaute Nouveau
Re : VBA - Problème de MultiPage (Userform)

Comme on peut le voir dans mon fichier joint, j'ai une page pour le calcul avec des pourcentages et une page pour le calcul avec des notes. J'ai un bouton sur chaque page pour lancer la "bonne macro" donc par exemple, si on choisit de faire un calcul sur les pourcentages, les RefEdit sur la page pour les notes sont vides. J'ai envie de dire... Et alors? C'est ça qui pose problème? Puisque je ne "_Change()" pas les RefEdit en question...
 

Zivodul8

XLDnaute Nouveau
Re : VBA - Problème de MultiPage (Userform)

Peut être dois-je tester quelle page est utilisée et ne mettre à jour que les labels nécessaires?

Quelle est l'instruction permettant de déterminer quelle page est utilisée?

Exemple :
Code:
Si MultiPage1.Page1.... = True Alors
Mettre à jour Label1
Fin Si

Merci!
 

Discussions similaires

Réponses
3
Affichages
327

Statistiques des forums

Discussions
312 323
Messages
2 087 291
Membres
103 510
dernier inscrit
baloty