Recherche VBA userform

Bonjour à tous,

Je vous explique mon problème.

J'ai une liste de personne dans un tableau avec plusieurs informations.

Pour simplifier l'explication vis à vis du tableau, je voudrais mettre dans une première textbox la valeur des cellules en colonne D. Puis dans une seconde textbox renseigner la nationalité de la personne pour quelle soit renvoyée sur la même ligne que le prénom renseigné.

Je ne sais pas si c'est très clair.

SI vous avec besoin de plus de détails ou d'informations n’hésitez pas.

Merci d'avance pour votre aide.

Je vous mets mon fichier en pièce jointe.

Bonjour,

Pour simplifier l'explication vis à vis du tableau, je voudrais mettre dans une première textbox la valeur des cellules en colonne D. Puis dans une seconde textbox renseigner la nationalité de la personne pour quelle soit renvoyée sur la même ligne que le prénom renseigné.

Votre fichier ne contient pas d'userform... on peut vous aider moyennant un minimum d'info
Voyez ce lien qui peut vous aider pour avancer --> https://www.excel-pratique.com/fr/vba/userform

Cordialement

Bonjour,

merci pour votre réponse. Effectivement, je n'ai pas transmis la bonne version.

Celle ci vous convient ?

Votre fichier contient des données sensibles au sujet de nom d'enfants.
Je suis donc contraint de le supprimer.
Si vous repostez veillez à mettre des données bidons

Sinon pour vos codes dans l'userform, voici ceux à utiliser

Private Sub CommandButton1_Click()
Dim lig As Integer

With Sheets("Feuil2")
    lig = .Range("D" & Rows.Count).End(xlUp).Row
    .Range("D" & lig) = TextBox1.Value
    .Range("P" & lig) = TextBox2.Value
End With
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

Rem : attention que le HIDE veut dire cacher l'userform. Donc contrairement à ce que vous croyez elle reste à l'arrière plan lorsque vous quittez l'userform. J'ai aussi modifié le code du bouton 2.

Si ok

Cordialement

Bonjour,

Merci pour votre réponse, il s'agit de noms bidons, ils sont inventés.

Je vais essayer.

Cordialement.

Malheureusement, cela ne fonctionne pas. Aucun message d'erreur n'apparait, le débogage ne se lance pas mais aucune information n'est renseignée lors que je valide la saisie.

Malheureusement, cela ne fonctionne pas. Aucun message d'erreur n'apparait, le débogage ne se lance pas mais aucune information n'est renseignée lors que je valide la saisie.

Bah dans votre fichier posté cela fonctionne sinon je ne vous aurais pas donné ce code
Je suppose que vous avez bien mis les deux codes dans l'userform...

je pense savoir faire au moins ça, oui. Je vais aller me renseigner ailleurs, j'ai bien l'impression de vous déranger. Merci pour votre aide.

Me déranger ??

Bah si c'était le cas je ne vous aurais pas répondu.

Je ne vois pas le souci que vous avez sachant que j'ai repris votre fichier et collé le code dans l'userform. Cela fonctionne. Donc expliquez moi ce qui ne fonctionne pas

Edit : je vois juste une erreur à corriger dans cette ligne

lig = .Range("D" & Rows.Count).End(xlUp).Row + 1

Il faut ajouter le + 1 pour que l'info se place à la dernière ligne vide

Je vous ai expliqué ce qu'il ne fonctionnait pas. Même en rajoutant le +1, aucune données ne se renseigne dans la cellule. Les informations se renseignes à la suite du tableau et non dans la cellule déjà existante du tableau.

image

Les informations se renseignes à la suite du tableau et non dans la cellule déjà existante du tableau

Ok. Effectivement vous aviez expliqué cela au début. Donc désolé vu l'utilisation de textbox j'ai pensé que vous vouliez rajouter à la suite.
Sinon vous auriez aussi pu mettre une combobox avec la liste existante des noms en colonne D puis faire votre choix. C''était plus sûr de ne pas avoir d'erreur en cas par exemple d'un doublon.

Essayez le code comme ceci :

Private Sub CommandButton1_Click()
Dim lig As Integer

With Sheets("Feuil2")
    On Error Resume Next
    lig = .Range("D:D").Find(TextBox1.Value & "*", LookIn:=xlValues, lookat:=xlPart).Row
    If Err.Number > 0 Then MsgBox "le nom " & TextBox1.Value & "est manquant": Exit Sub
    .Range("P" & lig) = TextBox2.Value
End With
End Sub

c'est vrai que je n'ai pas été très précis.

En tout cas ce dernier code fonctionne parfaitement. Merci beaucoup pour votre aide !

Rechercher des sujets similaires à "recherche vba userform"