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

Recherche - Userform

7 réponses
Avatar
JulieH
Bonsoir,

Comme prévu plus bas, me revoilà avec ma nouvelle idée.

Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.

Merci d'avance pour votre aide.

Julie

7 réponses

Avatar
JB
Bonsoir,

http://cjoint.com/?fFuVzVv1RZ

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub

JB


On 31 mai, 20:26, JulieH wrote:
Bonsoir,

Comme prévu plus bas, me revoilà avec ma nouvelle idée.

Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l' élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il app araît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.

Merci d'avance pour votre aide.

Julie


Avatar
JulieH
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayant le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondrait
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie

Bonsoir,

http://cjoint.com/?fFuVzVv1RZ

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub

JB


On 31 mai, 20:26, JulieH wrote:
Bonsoir,

Comme prévu plus bas, me revoilà avec ma nouvelle idée.

Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.

Merci d'avance pour votre aide.

Julie






Avatar
JB
Sur mon poste, le formulaire reste visible pendant la saisie sur
Feuil1.

http://cjoint.com/?fFvElf2Adl

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
End If
End Sub


JB

On 31 mai, 21:13, JulieH wrote:
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayant le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondrait
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie




Bonsoir,

http://cjoint.com/?fFuVzVv1RZ

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub

JB

On 31 mai, 20:26, JulieH wrote:
Bonsoir,

Comme prévu plus bas, me revoilà avec ma nouvelle idée.

Dans la feuille 1, je saisis le numéro de tatouage d'un anim al (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numé ro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.

Merci d'avance pour votre aide.

Julie- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
JulieH
J'ai essayé la saisie dans le fichier joint, voici ce qui se passe chez
moi :

Je suis en feuille 1, je saisis 16 par exemple, le Userform s'affiche
avec les bonnes valeurs. Pas de problème.
En revanche, si je veux saisir, cela ne fonctionne pas. J'ai réussi à
saisir dans le Userform, sans ne rien sélectionner.
Ce que je souhaite : saisir dans la feuille 1 (sens de saisie droit)
dans les cellules à droite de celle ou j'ai le numéro de tatouage.

Merci d'avance

Julie

Sur mon poste, le formulaire reste visible pendant la saisie sur
Feuil1.

http://cjoint.com/?fFvElf2Adl

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
End If
End Sub


JB

On 31 mai, 21:13, JulieH wrote:
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayant le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondrait
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie




Bonsoir,
http://cjoint.com/?fFuVzVv1RZ
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) >>> Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub
JB
On 31 mai, 20:26, JulieH wrote:
Bonsoir,
Comme prévu plus bas, me revoilà avec ma nouvelle idée.
Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.
Merci d'avance pour votre aide.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










Avatar
JulieH
Je m'excuse d'insister : après de nombreux essais, je viens de réussir à
saisir avec le Userform ouvert.
Cependant, lorsque je saisis en feuille1, colonne A et que le Userform
s'affiche, c'est lui qui "a le focus". Il faudrait lui enlever et rendre
active la cellule sur laquelle je suis arrivée (Colonne à droite de la
première saisie).

Merci

Julie


Sur mon poste, le formulaire reste visible pendant la saisie sur
Feuil1.

http://cjoint.com/?fFvElf2Adl

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
End If
End Sub


JB

On 31 mai, 21:13, JulieH wrote:
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayant le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondrait
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie




Bonsoir,
http://cjoint.com/?fFuVzVv1RZ
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) >>> Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub
JB
On 31 mai, 20:26, JulieH wrote:
Bonsoir,
Comme prévu plus bas, me revoilà avec ma nouvelle idée.
Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.
Merci d'avance pour votre aide.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










Avatar
JulieH
Bonjour,

Après recherche dans les archives, j'ai ajouté :

Private Sub UserForm_Activate()
AppActivate Application.Caption
End Sub

Maintenant tout va bien.

Merci encore pour ton aide.

Julie

Sur mon poste, le formulaire reste visible pendant la saisie sur
Feuil1.

http://cjoint.com/?fFvElf2Adl

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) > Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
End If
End Sub


JB

On 31 mai, 21:13, JulieH wrote:
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayant le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondrait
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie




Bonsoir,
http://cjoint.com/?fFuVzVv1RZ
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) >>> Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub
JB
On 31 mai, 20:26, JulieH wrote:
Bonsoir,
Comme prévu plus bas, me revoilà avec ma nouvelle idée.
Dans la feuille 1, je saisis le numéro de tatouage d'un animal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux de l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, il apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le numéro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à saisir en Feuil1 alors que
le userform est présent.
Merci d'avance pour votre aide.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -










Avatar
JB
Ne fonctionne pas si userform déjà ouvert. Plutôt mettre l'instruction
dans le code de la feuille.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show 0
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
AppActivate Application.Caption
End If
End Sub

JB

On 1 juin, 12:43, JulieH wrote:
Bonjour,

Après recherche dans les archives, j'ai ajouté :

Private Sub UserForm_Activate()
AppActivate Application.Caption
End Sub

Maintenant tout va bien.

Merci encore pour ton aide.

Julie




Sur mon poste, le formulaire reste visible pendant la saisie sur
Feuil1.

http://cjoint.com/?fFvElf2Adl

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 6
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
Select Case Application.Index([BDAnimaux], p, 6)
Case "Ok"
UserForm1.BackColor = RGB(0, 255, 0)
Case "Réf"
UserForm1.BackColor = vbRed
Case Else
UserForm1.BackColor = vbWhite
End Select
End If
End If
End Sub

JB

On 31 mai, 21:13, JulieH wrote:
Bonsoir et merci pour ta réponse ultra rapide et toujours aussi
efficace. C'est exactement ce que je souhaite réaliser.

Deux questions complémentaires :
Y-t-il la possibilité de continuer à saisir en feuil1 tout en ayan t le
userform visible ?
Peut-on changer la couleur du Userform en fonction de la valeur d'une
des cellules. Par exemple dans la colonne F de Feuil2 qui correspondra it
à "Observations", il y aurait OK (dans ce cas userform vert) ou Réf
(dans ce cas Userform rouge.

Julie




Bonsoir,
http://cjoint.com/?fFuVzVv1RZ
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
UserForm1.Show
p = Application.Match(Target, [tatouage], 0)
If Not IsError(p) Then
For i = 1 To 5
UserForm1.Controls("textbox" & i) =
Application.Index([BDAnimaux], p, i)
Next i
End If
End If
End Sub
JB
On 31 mai, 20:26, JulieH wrote:
Bonsoir,
Comme prévu plus bas, me revoilà avec ma nouvelle idée.
Dans la feuille 1, je saisis le numéro de tatouage d'un an imal (plus
surement je lirai un code barres qui s'inscrira dans une cellule de la
colonne A). Je continue à saisir des infos en colonne B, C et D.
Dans la feuille 2, j'ai une sorte d'historique des animaux d e l'élevage
: une liste en colonne A avec diverses informations en colonnes B - C -
D - E et F.
Ce que je souhaiterais faire :
- Quand je valide un numéro en feuil1 colonne A, i l apparaît un
Userform dans le coin droit de la feuille avec les informations
présentes en Feuil2 pour ce même animal.Une Textbox pour le num éro, une
seconde pour l'information de la cellule B...
- Je voudrais également pouvoir continuer à sais ir en Feuil1 alors que
le userform est présent.
Merci d'avance pour votre aide.
Julie- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -





- Afficher le texte des messages précédents -