J'ai une userform avec 1 étiquette (lword). L'étiquette doit être mise à jour avec une variable chaque fois que le code est en cours d'exécution. Chaque fois que le code est exécuté, l'activecell change et donc aussi la valeur.Excel VBA - L'étiquette est vierge lors de la première exécution du formulaire, plus tard toujours 1 pas derrière.
Lors de la première exécution du code, l'étiquette est vide (j'ai supprimé la légende par défaut dans les propriétés). La variable qui doit donner la valeur à l'étiquette est mise à jour et affiche la valeur correcte. J'ai inclus un MsgBox pour tester ceci (mot MsgBox).
Lorsque vous exécutez le formulaire pour la deuxième fois ou à chaque fois par la suite, il affiche toujours la valeur précédente. Signification mise à jour de l'étiquette semble toujours un pas en arrière.
Ce code est ce que j'ai jusqu'à présent:
Sub Random_Words()
Dim i As Integer
Dim word As String
Dim answer As String
Dim Rng As Range
i = ActiveSheet.UsedRange.Rows.Count
Set Rng = Range("B1:B" & i)
Cells(Int((i * Rnd) + 1), 2).Select
word = ActiveCell.Value
answer = ActiveCell.Offset(0, -1).Value
MsgBox word
Load UserForm1
UserForm1.Show
UserForm1.lword.Caption = word
End Sub
J'ai essayé et lire plusieurs sites, mais rien a marché. Aussi Userform1.Repaint n'aide pas.
Merci beaucoup d'avance et au cas où vous avez besoin de plus d'informations, faites le moi savoir.
Tu dois me faire marcher. Je savais que c'était quelque chose de simple, mais pas quoi ... Cela fonctionne en effet. Merci beaucoup Gene. – Dennis