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

userform et macro

3 réponses
Avatar
christian
Bonjour à tous,
J'ai un useform avec un bouton d'option avec le macro que voici:
Private Sub ComboBox1_Change()
[C3] = UserForm1.ComboBox1
End Sub

Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

Private Sub Bt_Valider_Click()
[C1] = UserForm1.TextBox1 & " " & UserForm1.TextBox2
End Sub

Private Sub OptionButton1_Click()
If Controls("OptionButton1").Value = True Then
[C4] = "Vous êtes une " & Controls("OptionButton1").Caption
End If
End Sub
Private Sub OptionButton2_Click()
If Controls("OptionButton2").Value = True Then
[C4] = "Vous êtes un " & Controls("OptionButton2").Caption
End If
End Sub

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub


le résultat de ce macro fait en sorte que lorsque je tape un nom, un prénom,
le nom de la ville (qui est une liste dans une autre feuille) et le bouton
option qui me demande si je suis une fille ou un garcon;
le nom que je tape va en A1, le prénom en A2,
le nom de la ville en C3 et fille ou garcon en C4. le nom et prénom se
rassemble en C1 .
Ce que je voudrais bien faire c'est que lorsque je recherche un autre
prénom, nom, nom de ville, et que je sélectionne si je suis une fille ou un
garcon, le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver. Est ce que quequ'un aurais une solution? merci de m'avoir lu.

3 réponses

Avatar
FFO
Salut christian

Je te propose pour le nom par exemple colonne A en lieu et place de

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

mettre

Private Sub TextBox1_Change()
If [A1] = "" Then
[A1] = UserForm1.TextBox1
Else
[A65530].End(xlUp).Offset(1, 0) = UserForm1.TextBox1
End If
End Sub

A reproduire pour tous tes paramètres à l'identique


Pour le nom de la ville par exemple

Private Sub ComboBox1_Change()
If [C3] = "" Then
[C3] = UserForm1.ComboBox1
Else
[C65530].End(xlUp).Offset(1, 0) = UserForm1.ComboBox1
End If
End Sub

Adapte ainsi tous tes codes celà devrait faire


Bonjour à tous,
J'ai un useform avec un bouton d'option avec le macro que voici:
Private Sub ComboBox1_Change()
[C3] = UserForm1.ComboBox1
End Sub

Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

Private Sub Bt_Valider_Click()
[C1] = UserForm1.TextBox1 & " " & UserForm1.TextBox2
End Sub

Private Sub OptionButton1_Click()
If Controls("OptionButton1").Value = True Then
[C4] = "Vous êtes une " & Controls("OptionButton1").Caption
End If
End Sub
Private Sub OptionButton2_Click()
If Controls("OptionButton2").Value = True Then
[C4] = "Vous êtes un " & Controls("OptionButton2").Caption
End If
End Sub

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub


le résultat de ce macro fait en sorte que lorsque je tape un nom, un prénom,
le nom de la ville (qui est une liste dans une autre feuille) et le bouton
option qui me demande si je suis une fille ou un garcon;
le nom que je tape va en A1, le prénom en A2,
le nom de la ville en C3 et fille ou garcon en C4. le nom et prénom se
rassemble en C1 .
Ce que je voudrais bien faire c'est que lorsque je recherche un autre
prénom, nom, nom de ville, et que je sélectionne si je suis une fille ou un
garcon, le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver. Est ce que quequ'un aurais une solution? merci de m'avoir lu.



Avatar
christian
Salut FFO je ne comprend pas ta réponse et exuse de ma réponse c'est le
décalage horaire merci


Salut christian

Je te propose pour le nom par exemple colonne A en lieu et place de

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

mettre

Private Sub TextBox1_Change()
If [A1] = "" Then
[A1] = UserForm1.TextBox1
Else
[A65530].End(xlUp).Offset(1, 0) = UserForm1.TextBox1
End If
End Sub

A reproduire pour tous tes paramètres à l'identique


Pour le nom de la ville par exemple

Private Sub ComboBox1_Change()
If [C3] = "" Then
[C3] = UserForm1.ComboBox1
Else
[C65530].End(xlUp).Offset(1, 0) = UserForm1.ComboBox1
End If
End Sub

Adapte ainsi tous tes codes celà devrait faire


Bonjour à tous,
J'ai un useform avec un bouton d'option avec le macro que voici:
Private Sub ComboBox1_Change()
[C3] = UserForm1.ComboBox1
End Sub

Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

Private Sub Bt_Valider_Click()
[C1] = UserForm1.TextBox1 & " " & UserForm1.TextBox2
End Sub

Private Sub OptionButton1_Click()
If Controls("OptionButton1").Value = True Then
[C4] = "Vous êtes une " & Controls("OptionButton1").Caption
End If
End Sub
Private Sub OptionButton2_Click()
If Controls("OptionButton2").Value = True Then
[C4] = "Vous êtes un " & Controls("OptionButton2").Caption
End If
End Sub

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub


le résultat de ce macro fait en sorte que lorsque je tape un nom, un prénom,
le nom de la ville (qui est une liste dans une autre feuille) et le bouton
option qui me demande si je suis une fille ou un garcon;
le nom que je tape va en A1, le prénom en A2,
le nom de la ville en C3 et fille ou garcon en C4. le nom et prénom se
rassemble en C1 .
Ce que je voudrais bien faire c'est que lorsque je recherche un autre
prénom, nom, nom de ville, et que je sélectionne si je suis une fille ou un
garcon, le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver. Est ce que quequ'un aurais une solution? merci de m'avoir lu.





Avatar
FFO
Rebonjour à toi

Ta demande :

"Ce que je voudrais bien faire c'est que lorsque je recherche un autre
prénom, nom, nom de ville, et que je sélectionne si je suis une fille ou un
garcon, le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver. Est ce que quequ'un aurais une solution? merci de m'avoir lu. "

Ton code actuellement pour le nom :


Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

ce qui veut dire qu'à chaque changement de la valeur TextBox1 la cellule A1
prend cette valeur
Inconvénient : un nouveau changement écrase en cellule A1 la valeur
précédente

Ma proposition en lieu et place de ce code celui-ci :

Private Sub TextBox1_Change()
If [A1] = "" Then
[A1] = UserForm1.TextBox1
Else
[A65530].End(xlUp).Offset(1, 0) = UserForm1.TextBox1
End If
End Sub

Qui veut dire qu'à chaque changement de la valeur TextBox1 si la cellule A1
est vide c'est elle qui prendra cette nouvelle valeur sinon c'est la première
cellule vide de la même colonne qui la prendra

Je pense ainsi répondre à ton souhait :

"le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver."

N'est il pas ????



Salut FFO je ne comprend pas ta réponse et exuse de ma réponse c'est le
décalage horaire merci


Salut christian

Je te propose pour le nom par exemple colonne A en lieu et place de

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

mettre

Private Sub TextBox1_Change()
If [A1] = "" Then
[A1] = UserForm1.TextBox1
Else
[A65530].End(xlUp).Offset(1, 0) = UserForm1.TextBox1
End If
End Sub

A reproduire pour tous tes paramètres à l'identique


Pour le nom de la ville par exemple

Private Sub ComboBox1_Change()
If [C3] = "" Then
[C3] = UserForm1.ComboBox1
Else
[C65530].End(xlUp).Offset(1, 0) = UserForm1.ComboBox1
End If
End Sub

Adapte ainsi tous tes codes celà devrait faire


Bonjour à tous,
J'ai un useform avec un bouton d'option avec le macro que voici:
Private Sub ComboBox1_Change()
[C3] = UserForm1.ComboBox1
End Sub

Private Sub CommandButton1_Click()
Unload UserForm1
End Sub

Private Sub Bt_Valider_Click()
[C1] = UserForm1.TextBox1 & " " & UserForm1.TextBox2
End Sub

Private Sub OptionButton1_Click()
If Controls("OptionButton1").Value = True Then
[C4] = "Vous êtes une " & Controls("OptionButton1").Caption
End If
End Sub
Private Sub OptionButton2_Click()
If Controls("OptionButton2").Value = True Then
[C4] = "Vous êtes un " & Controls("OptionButton2").Caption
End If
End Sub

Private Sub TextBox1_Change()
[A1] = UserForm1.TextBox1
End Sub

Private Sub TextBox2_Change()
[B1] = UserForm1.TextBox2
End Sub


le résultat de ce macro fait en sorte que lorsque je tape un nom, un prénom,
le nom de la ville (qui est une liste dans une autre feuille) et le bouton
option qui me demande si je suis une fille ou un garcon;
le nom que je tape va en A1, le prénom en A2,
le nom de la ville en C3 et fille ou garcon en C4. le nom et prénom se
rassemble en C1 .
Ce que je voudrais bien faire c'est que lorsque je recherche un autre
prénom, nom, nom de ville, et que je sélectionne si je suis une fille ou un
garcon, le premier résultat ne s'enlève pas mais bien qu'il vienne s'ajouter
en dessous du premier et ainsi de suite pour les dizaines d'autre que j'ai à
trouver. Est ce que quequ'un aurais une solution? merci de m'avoir lu.