1 pièce(s) jointe(s)
Rafraichissement d'un Userform
Bonjour à tous.
Tout d'abord, merci pour votre forum, étant débutant en VBA, il m'est d'une très grande utilité.
Néanmoins je bloque sur mon fichier et j'en appelle à vos talents pour me débloquer de cette situation qui me rend fou depuis plusieurs jours.
J'ai crée un fichier qui m'aide à suivre l'activité de mes équipes au travail.
J'ai un Userform (Userform1) sur lequel se trouve les objectifs de mon équipe ainsi qui les personnes qui la compose.
D'une équipe à l'autre, le nombre d'agent diffère, du coup, il me faut afficher plus ou moins de textbox pour y associer des noms d'agents.
J'ai donc crée un lien depuis l'userform1 vers un autre userform Userform3) me permettant de selectionner les nombre d'agent dans chaque équipe.
Le problème, quand je valide le nombre et que je reviens vers l'userform1, l'affichage de celui n'évolue pas.
Voici le code de UF1:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
| Private Sub CommandButton2_Click() 'Clic sur le bouton "Valider les agents"
Sheets("parametres").Range("C3") = TextBox1.Value 'Met en case C3 de l'onglet parametre la valeur de Textbox1
Sheets("parametres").Range("C4") = TextBox2.Value 'Met en case C4 de l'onglet parametre la valeur de Textbox2
Sheets("parametres").Range("C5") = TextBox3.Value 'Met en case C5 de l'onglet parametre la valeur de Textbox3
Sheets("parametres").Range("C6") = TextBox4.Value 'Met en case C6 de l'onglet parametre la valeur de Textbox4
Sheets("parametres").Range("C7") = TextBox5.Value 'Met en case C7 de l'onglet parametre la valeur de Textbox5
Sheets("parametres").Range("C8") = TextBox11.Value 'Met en case C8 de l'onglet parametre la valeur de Textbox11
End Sub
_______________________________
Private Sub CommandButton3_Click() 'Clic sur le bouton "fermer"
UserForm1.Hide 'Fait disparaitre le Userform1
End Sub
________________________________
Private Sub CommandButton7_Click() 'Clic sur le bouton "Définir les critères"
UserForm3.Show 'Fait apparaitre le Userform3
End Sub
_______________________________
'Fait apparaitre 2 techniciens
Private Sub TextBox4_Change()
If Sheets("parametres").Range("B2") > 1 Then
TextBox4.Visible = True
Label5.Visible = True
Else
TextBox4.Value = ""
Sheets("parametres").Range("C6") = TextBox4.Value 'Met en case C6 de l'onglet parametre la valeur de Textbox4
TextBox4.Visible = False
Label5.Visible = False
End If
End Sub
'Fait apparaitre 3 techniciens
Private Sub TextBox5_Change()
If Sheets("parametres").Range("B2") > 2 Then
TextBox5.Visible = True
Label6.Visible = True
Else
TextBox5.Value = ""
Sheets("parametres").Range("C7") = TextBox5.Value 'Met en case C7 de l'onglet parametre la valeur de Textbox5
TextBox5.Visible = False
Label6.Visible = False
End If
End Sub
'Fait apparaitre 4 techniciens
Private Sub TextBox11_Change()
If Sheets("parametres").Range("B2") > 3 Then
TextBox11.Visible = True
Label23.Visible = True
Else
TextBox11.Value = ""
Sheets("parametres").Range("C8") = TextBox11.Value 'Met en case C8 de l'onglet parametre la valeur de Textbox11
TextBox11.Visible = False
Label23.Visible = False
End If
End Sub
_______________________________
Private Sub UserForm_Initialize() 'A l'ouverture de l'Userform1
TextBox1 = Sheets("parametres").Range("C3") 'Met dans la textbox 1 la valeur de la case C3 de l'onglet parametre
TextBox2 = Sheets("parametres").Range("C4") 'Met dans la textbox 2 la valeur de la case C4 de l'onglet parametre
TextBox3 = Sheets("parametres").Range("C5") 'Met dans la textbox 3 la valeur de la case C5 de l'onglet parametre
TextBox4 = Sheets("parametres").Range("C6") 'Met dans la textbox 4 la valeur de la case C6 de l'onglet parametre
TextBox5 = Sheets("parametres").Range("C7") 'Met dans la textbox 5 la valeur de la case C7 de l'onglet parametre
TextBox11 = Sheets("parametres").Range("C8") 'Met dans la textbox 10 la valeur de la case C8 de l'onglet parametre
End Sub |
et celui de l'UF3
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Private Sub CommandButton1_Click() 'Clic sur le bouton "Valider"
Sheets("parametres").Range("B2") = ComboBox1.Value 'Met en case B2 de l'onglet parametre le choix de la Combobox1
Unload UserForm3
UserForm1.Repaint
End Sub
__________________________________
Private Sub CommandButton2_Click()
UserForm3.Hide 'Fait disparaitre le Userform3
End Sub
__________________________________
Private Sub UserForm_Initialize() 'A l'ouverture de l'Userform3
ComboBox1 = Sheets("parametres").Range("B2") 'Met dans la textbox 1 la valeur de la case B2 de l'onglet parametre
End Sub |
Malgré le Unload Me et le Userform1.Repaint, mon affichage ne se met pas à jour.
Ci contre, le fichier en cours de dev pour plus de compréhension.Pièce jointe 228127
Merci d'avance.