Mises à jour d'un textBox via un combobox
Bonsoir,
Je cherche des solutions depuis 2 jours, mais tout ce que j'ai pu testé ne fonctionne pas...
Lorsque je choisie une société dans la liste d'un combobox : ComboBoxSté, cela modifie :
● la valeur d'un textbox : TextBoxEtage en indiquant l'étage correspondant
● et la valeur d'un autre combobox : (ComboBoxComp) en indiquant sa localisation (compartiment)
Certaines sociétés ont plusieurs localisations, je fais donc une boucle sur toutes ces localisations
Tout fonctionne bien, cependant la mise à jour de l'affichage du TextBoxEtage et du ComboBoxComp ne se fait que lorsque la procédure s'arrête
Avez-vous une solution pour que le TextBoxEtage et le ComboBoxComp affichent leur valeur successives pendant l'exécution de la macro ?
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
| Sub ComboBoxSté_LostFocus()
Application.ScreenUpdating = True
If Len(ComboBoxSté) > 2 Then
With Worksheets("Sociétés").Range("B3:B300")
Set F = .Find(ComboBoxSté, LookIn:=xlValues)
If Not F Is Nothing Then
'FirstAddress = F.Address ' pour ne boucler qu'une fois
FirstName = ComboBoxSté
Do
ThisWorkbook.Adresse = F.Address
TextBoxEtage = Worksheets("Sociétés").Range(F.Address).Offset(0, 2)
ComboBoxComp = Worksheets("Sociétés").Range(F.Address).Offset(0, 3)
ComboBoxSté = Worksheets("Sociétés").Range(F.Address)
Set F = .FindNext(F)
If F Is Nothing Then
GoTo Fini
Else: 'If F.Address <> FirstAddress Then ' pour ne boucler qu'une fois
Situation = MsgBox("Localisation suivante ?", vbYesNo)
If Situation = vbNo Then
GoTo Fini
Else: ComboBoxSté = FirstName
TextBoxEtage = ""
ComboBoxComp = ""
End If
End If
Loop 'While F.Address <> FirstAddress ' pour ne boucler qu'une fois
End If
Fini: End With
End If
End Sub |