Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb unload Userform

6 réponses
Avatar
JacquesH
Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit
problème et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans
doute par un petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais
apparaître une Userform dans laquelle il y a une TextBox et un bouton
"OK". Je saisis un chiffre dans ma TextBox et je clique sur "OK". Voilà
le code du bouton :

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le
chiffre de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer
dessus). Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit)
mais si j'appelle de nouveau la Userform, les chiffres tapés sont dans
la TextBox. C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes...
Rien n'y fait.

Merci de votre aide.

Jacques

6 réponses

Avatar
papou
Bonjour Jacques
Il faut fermer to userform une fois la totalité de tes actions effectuées.
Concrètement :
Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate
ActiveCell.Offset(0, 1).Select
Me.Hide
End Sub

Cordialement
Pascal

"JacquesH" a écrit dans le message de
news:
Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit problème
et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans doute par un
petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais apparaître
une Userform dans laquelle il y a une TextBox et un bouton "OK". Je saisis
un chiffre dans ma TextBox et je clique sur "OK". Voilà le code du bouton
:

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le chiffre
de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer dessus).
Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit) mais si
j'appelle de nouveau la Userform, les chiffres tapés sont dans la TextBox.
C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes... Rien
n'y fait.

Merci de votre aide.

Jacques


Avatar
isabelle
bonjour Jacques,

essaie comme ça,

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Application.Goto Worksheets("Feuil2").Cells(ToFind, 1).Offset(0, 1)
Unload Me
End Sub


isabelle

Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit
problème et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans
doute par un petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais
apparaître une Userform dans laquelle il y a une TextBox et un bouton
"OK". Je saisis un chiffre dans ma TextBox et je clique sur "OK". Voilà
le code du bouton :

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le
chiffre de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer
dessus). Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit)
mais si j'appelle de nouveau la Userform, les chiffres tapés sont dans
la TextBox. C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes...
Rien n'y fait.

Merci de votre aide.

Jacques


Avatar
JacquesH
Bonjour,

Merci de t'intéresser à nouveau à mon problème.

Je ne sais plus si j'avais déjà testé cette hypothèse mais cela ne
fonctionne pas. Il y a toujours le même problème, je suis sur la cellule
mais je n'arrive pas à saisir.

Cela peut-il venir de la manière dont j'appelle la Userform :

Sub Saisie()
Load UserForm1
UserForm1.Show
UserForm1.TxtBox1.Value = ""
UserForm1.TxtBox1.SetFocus
End Sub

D'ailleurs, cette partie-là ne fonctionne pas terrible. Le focus
n'est pas toujours dans la TxtBox, la TxtBox n'est pas toujours à "".

Jacques

Bonjour Jacques
Il faut fermer to userform une fois la totalité de tes actions effectuées.
Concrètement :
Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate
ActiveCell.Offset(0, 1).Select
Me.Hide
End Sub

Cordialement
Pascal

"JacquesH" a écrit dans le message de
news:

Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit problème
et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans doute par un
petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais apparaître
une Userform dans laquelle il y a une TextBox et un bouton "OK". Je saisis
un chiffre dans ma TextBox et je clique sur "OK". Voilà le code du bouton
:

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le chiffre
de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer dessus).
Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit) mais si
j'appelle de nouveau la Userform, les chiffres tapés sont dans la TextBox.
C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes... Rien
n'y fait.

Merci de votre aide.

Jacques







Avatar
JacquesH
Bonjour Isabelle,

Merci pour cette nouvelle idée mais c'est toujours même problème.

Jacques


bonjour Jacques,

essaie comme ça,

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Application.Goto Worksheets("Feuil2").Cells(ToFind, 1).Offset(0, 1)
Unload Me
End Sub


isabelle


Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit
problème et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans
doute par un petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais
apparaître une Userform dans laquelle il y a une TextBox et un bouton
"OK". Je saisis un chiffre dans ma TextBox et je clique sur "OK".
Voilà le code du bouton :

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le
chiffre de la Textbox et se positionne à droite puis la Userform
disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée
mais je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer
dessus). Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit)
mais si j'appelle de nouveau la Userform, les chiffres tapés sont dans
la TextBox. C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes...
Rien n'y fait.

Merci de votre aide.

Jacques




Avatar
papou
Re
Pas besoin du load, enfin pas dans ton cas je pense.
Pour le focus histoire d'être clean :
Textbox1.TabIndex = 0

Mais perso, je placerai les lignes
Textbox1.TabIndex = 0
TextBox1.SetFocus

Dans l'évènement Initialize de ton userform

Par ailleurs, je ne vois pas l'intérêt de la ligne
UserForm1.TxtBox1.Value = ""

Cordialement
Pascal


"JacquesH" a écrit dans le message de
news:
Bonjour,

Merci de t'intéresser à nouveau à mon problème.

Je ne sais plus si j'avais déjà testé cette hypothèse mais cela ne
fonctionne pas. Il y a toujours le même problème, je suis sur la cellule
mais je n'arrive pas à saisir.

Cela peut-il venir de la manière dont j'appelle la Userform :

Sub Saisie()
Load UserForm1
UserForm1.Show
UserForm1.TxtBox1.Value = ""
UserForm1.TxtBox1.SetFocus
End Sub

D'ailleurs, cette partie-là ne fonctionne pas terrible. Le focus n'est
pas toujours dans la TxtBox, la TxtBox n'est pas toujours à "".

Jacques

Bonjour Jacques
Il faut fermer to userform une fois la totalité de tes actions
effectuées.
Concrètement :
Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate
ActiveCell.Offset(0, 1).Select
Me.Hide
End Sub

Cordialement
Pascal

"JacquesH" a écrit dans le message
de news:

Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit problème
et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans doute par un
petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais
apparaître une Userform dans laquelle il y a une TextBox et un bouton
"OK". Je saisis un chiffre dans ma TextBox et je clique sur "OK". Voilà
le code du bouton :

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le chiffre
de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer
dessus). Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit)
mais si j'appelle de nouveau la Userform, les chiffres tapés sont dans la
TextBox. C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes...
Rien n'y fait.

Merci de votre aide.

Jacques








Avatar
JacquesH
Re,

Problème réglé, il provenait bien des lignes de code dans l'appel de
la Userform.

Merci encore une fois pour ton aide. Merci également à Isabelle.

Bonne journée

Jacques

Re
Pas besoin du load, enfin pas dans ton cas je pense.
Pour le focus histoire d'être clean :
Textbox1.TabIndex = 0

Mais perso, je placerai les lignes
Textbox1.TabIndex = 0
TextBox1.SetFocus

Dans l'évènement Initialize de ton userform

Par ailleurs, je ne vois pas l'intérêt de la ligne
UserForm1.TxtBox1.Value = ""

Cordialement
Pascal


"JacquesH" a écrit dans le message de
news:

Bonjour,

Merci de t'intéresser à nouveau à mon problème.

Je ne sais plus si j'avais déjà testé cette hypothèse mais cela ne
fonctionne pas. Il y a toujours le même problème, je suis sur la cellule
mais je n'arrive pas à saisir.

Cela peut-il venir de la manière dont j'appelle la Userform :

Sub Saisie()
Load UserForm1
UserForm1.Show
UserForm1.TxtBox1.Value = ""
UserForm1.TxtBox1.SetFocus
End Sub

D'ailleurs, cette partie-là ne fonctionne pas terrible. Le focus n'est
pas toujours dans la TxtBox, la TxtBox n'est pas toujours à "".

Jacques


Bonjour Jacques
Il faut fermer to userform une fois la totalité de tes actions
effectuées.
Concrètement :
Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate
ActiveCell.Offset(0, 1).Select
Me.Hide
End Sub

Cordialement
Pascal

"JacquesH" a écrit dans le message
de news:


Bonjour à toutes et tous,

En début de semaine, je vous ai déjà fait plancher sur un petit problème
et Papou m'a bien aidé. Mais à nouveau, je suis bloqué (sans doute par un
petit rien !!!).

J'ai une liste en colonne A avec une liste de chiffres. Je fais
apparaître une Userform dans laquelle il y a une TextBox et un bouton
"OK". Je saisis un chiffre dans ma TextBox et je clique sur "OK". Voilà
le code du bouton :

Private Sub CommandButton3_Click()
ToFind = Application.Match(CInt(TxtBox1.Value), Range("A1:A1000"), 0)
Unload Me
Worksheets("Feuil2").Select
Cells(ToFind, 1).Activate

ActiveCell.Offset(0, 1).Select
End Sub

Sur le principe, tout va bien. La macro retrouve dans la liste le chiffre
de la Textbox et se positionne à droite puis la Userform disparaît.

C'est là que commence le problème. Ma cellule est bien sélectionnée mais
je n'arrive pas à saisir dedans (j'y arrive si je reviens cliquer
dessus). Par ailleurs, si j'essaie de saisir dedans (rien ne s'écrit)
mais si j'appelle de nouveau la Userform, les chiffres tapés sont dans la
TextBox. C'est comme si la Userform était toujours active.

J'ai essayé Hide au lieu de Unload, j'ai changé l'ordre des lignes...
Rien n'y fait.

Merci de votre aide.

Jacques