Focus qui reste fixe

Bonjour je débute VBA,

Le focus ne veut pas aller a mon bouton PousB je ne sais pourquoi, le focus va ensuite sur un checkbox suivante

Sub Dim2048_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Feuil2.Cells(1, 1) = Dim2048
    Dim Zone As Range
    Dim2048.Enabled = False
    Dim2048.BackColor = RGB(200, 200, 200)
    Call cleanAll4
    Set Zone = Feuil1.Range(Feuil1.Cells(1, 1), Feuil1.Cells(Dim2048, Dim2048))
    Call contour(Zone)
    Feuil1.Cells(1, 1).Select
    Call NewTirage
    Randomize

    PousB.SetFocus

End Sub

Par contre pour initialize cela fonctionne

Private Sub UserForm_Initialize()
    Feuil1.Select
    Dim2048 = Feuil2.Cells(1, 1)
    UF_2048.Height = 235
    CkB_PasAPas = False
    CkB_activProg = False
    Score = 0
    PousB.SetFocus
End Sub

Merci de votre aide car la je bloque j'ai essaye pendant 1 h et cela m'énerve

Bonjour Exocet,

ta sub Dim2048_Exit appelle 3 autres subs cleanAll4 ; contour ; NewTirage ; à tout hasard : des fois qu'l'exécution du code s'arrête dans l'une d'elles et revient plus à la sub appelante (donc ici-même), ça risque pas d'exécuter PousB.SetFocus !

dhany

Merci de votre prompt réponse, j'ai essayé d'en mettre des Setfocus un peu partout dans les fonctions appelées et au début de mon Dim2048_Exit. Rien ni fait j'ai fais le mode debug pour voir si toute la fonction est bien parcourue et oui c'est le cas.

Merci de votre aide.

Aucune idée ?

Bonsoir Exocet,

essaye ce code VBA :

Sub Dim2048_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  Dim Zone As Range
  With Dim2048
    Feuil2.Cells(1) = .Value
    .BackColor = RGB(200, 200, 200): .Enabled = False
    cleanAll4
    Set Zone = Feuil1.Cells(1).Resize(.Value, .Value)
    contour Zone
  End With
  Feuil1.Select: .Cells(1).Select: Randomize: NewTirage
  UF_2048.PousB.SetFocus
End Sub

dhany

Rechercher des sujets similaires à "focus qui reste fixe"