Microsoft 365 Séparer NOM et Prénom d'une ListBox dans 2 Textbox

  • Initiateur de la discussion Initiateur de la discussion NONO14
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

NONO14

XLDnaute Impliqué
Bonjour à toutes et à tous,

Dans un formulaire, j'ai une ListBox qui s'affiche à son ouverture. Dans cette liste ("Lbx_Enregist") il y a 2 colonnes une qui contient un code et l'autre le Nom et Prénom.
Je souhaiterais que lorsque je clique sur une ligne de la liste, le NOM s'affiche dans la TextBox1 et le Prénom dans la TextBox2, en fait séparer le Nom du Prénom.
Les Noms et Prénoms sont également présent dans la feuille "Liste_agents" TS "t_Noms" colonne "Salarié".
J'ai cherché un peu partout, mais je n'ai pas trouvé pour cette situation.
Comment puis-je procéder et surtout est-ce possible ?
Je sais que cela va se compliquer s'il y a un Nom du style "De La Bouche en biais Marie-Thérèse".
Merci par avance pour votre aide.
 
Bonjour,
Juste pour une éventuelle remarque
Les noms sont-ils toujours écrits à l'identique, tel qu'inscrits dans l'onglet "Liste_agents"?
A savoir NOM Prénom (Majuscules pour les noms, Nom propre pour les prénoms)?
Si c'est le cas, ça ne devrait pas être difficile...
Le NOM sera toujours en majuscules et le Prénom, uniquement la première lettre. Les TextBoxs ont été codées dans ce sens.
 
Le problème est l'espace, non les majuscules,.
Il sera impossible de trouver avec DUPONT Marie Thérèse sauf à mettre DUPONT Marie thérèse.
Le seul moyen de vous en sortir est le tiret : DUPONT Marie-Thérèse.
Cela me semble pourtant simple à comprendre. Utiliser juste l'espace comme séparateur ne permettra jamais de couvrir 100% des cas.
 
Le problème est l'espace, non les majuscules,.
Il sera impossible de trouver avec DUPONT Marie Thérèse sauf à mettre DUPONT Marie thérèse.
Le seul moyen de vous en sortir est le tiret : DUPONT Marie-Thérèse.
Cela me semble pourtant simple à comprendre. Utiliser juste l'espace comme séparateur ne permettra jamais de couvrir 100% des cas.
J'ai bien compris, pas de soucis sur ça. Mais ce n'est pas moi qui vais utiliser l'application et je ne sais pas comment ils vont saisir les données, je ne serais pas derrière leur épaule à surveiller, c'est pour cette raison que je cherche une parade, mais si ce n'est pas possible, ce n'est pas grave, je vais modifier la façon de faire en dehors de l'UF.
Merci pour vos commentaires à tous et vos codes.
 
Ce code fonctionne à présent, je récupère bien mes données dans les TextBoxs.
Exit toujours le problème des Noms mais ce n'est pas important, je vais régler ça.

VB:
Private Sub Lbx_Enregist_Click()
Dim FullName$, FirstName$, LastName$, CodeT, TempsTravail
Application.ScreenUpdating = False

On Error GoTo NonTrouvé

'On identifie FullName
    FullName = Me.Lbx_Enregist.Value
    
'On extrait le Nom de famille avant l'espace
    LastName = Séparation(FullName, 1)
    
'On extrait le Prénom
    FirstName = Séparation(FullName, 0)
    
' 'On affiche les résultats dans des TextBoxs
    With Sheets("Liste_agents")
        Ligne = .Application.Match(FullName, [C:C], 0)  ' N° de ligne
        Me.TextBox1.Value = Séparation(FullName, 1)     ' Nom
        Me.TextBox2.Value = Séparation(FullName, 0)     ' Prénom
    End With
        
        Me.TextBox3 = Me.Lbx_Enregist.List(, 1)       ' Code
        Me.TextBox5 = Me.Lbx_Enregist.List(, 2)       ' Tps travail

Exit Sub

NonTrouvé:
MsgBox " Les nom et prénoms " & FullName & " n'ont pas été trouvés."
End Sub
 
Bonjour patricktoulon,
Je sais que vous aviez développé quelque chose à ce sujet mais je ne l'ai pas retrouvé.
Il est vrai que c'est un problème assez récurrent.
Merci pour votre participation à ce post
non je suis un peu dingo je le reconnais mais pas jusqu’à aller chasser le DAHU quand même
j'ai peut être participer une fois ou deux a une discussion simillaire pour ne pas dire la même mais je n'ai rien coder comme fonction sur ce point
par ce que ta question n'a définitivement pas de réponse valable à 100%
sauf si effectivement les noms sont en majuscule( ce qui est la norme typographique aujourd'hui)
alors là la question serait simplement separer les mots majuscule des mots minuscule
et je dis bien mot pas nom ou prénom
et encore !!!!! c'est donner une certaine faculté a excel(qu'il n'a pas bien entendu)de faire la différence entre une patate et un concombre
donc pour être précis séparer la chaine de caractères majuscule/minuscule
c'est tout ce que faire excel
il se marièrent et eurent beaucoup analphabète 🥳 🥳 🥳
 
Bonjour,

J'ai cherché un peu partout, mais je n'ai pas trouvé pour cette situation.
Comment puis-je procéder et surtout est-ce possible ?
Il est plus facile de merger que de splitter...

Comprendre que, comme l'a dit Sylvanu, on n'est jamais vraiment sûr de splitter au bon endroit, alors que, au contraire, on peut difficilement se tromper en mergeant.


Bonne soirée
🥀 🌞 🥨
 
Bonjour,


Il est plus facile de merger que de splitter...

Comprendre que, comme l'a dit Sylvanu, on n'est jamais vraiment sûr de splitter au bon endroit, alors que, au contraire, on peut difficilement se tromper en mergeant.


Bonne soirée
🥀 🌞 🥨
Bonsoir TootFatBoy
Peux-tu traduire s'il te plaît car merger et splitter je ne sais pas ce que cela veux dire 🙂
 
Split = couper
"DE LA BOUCLE DE MON CEINTURON Tugdual" donne "DE LA BOUCLE DE MON CEINTURON" pour le nom et "Tugdual" pour le prénom... si tu as réussi à trouver le bon endroit pour la découpe !
Sinon ça peut te donner "DE LA BOUCLE DE" pour le nom et "MON CEINTURON Tugdual" pour le prénom...
Ou autres...

Merge = fusionner
Nom = "DE LA BOUCLE DE MON CEINTURON" et prénom = "Tugdual" donne "DE LA BOUCLE DE MON CEINTURON Tugdual" à tous les coups.


Autrement dit :
Quand tu sais que tu auras besoin de traiter séparément le nom et le prénom, tu prévois une BDD (Base De Données) qui comprend deux champs différents (un pour le nom et un pour le prénom).
En revanche, quand tu sais que tu traiteras toujours le nom et le prénom ensemble, tu peux te contenter d'un seul champ dans ta BDD pour le nom et le prénom.
 
Dernière édition:
Split = couper
"DE LA BOUCLE DE MON CEINTURON Tugdual" donne "DE LA BOUCLE DE MON CEINTURON" pour le nom et "Tugdual" pour le prénom... si tu as réussi à trouver le bon endroit pour la découpe !
Sinon ça peut te donner "DE LA BOUCLE DE" pour le nom et "MON CEINTURON Tugdual" pour le prénom...
Ou autres...

Merge = fusionner
Nom = "DE LA BOUCLE DE MON CEINTURON" et prénom = "Tugdual" donne "DE LA BOUCLE DE MON CEINTURON Tugdual" à tous les coups.


Autrement dit :
Quand tu sais que tu auras besoin de traiter séparément le nom et le prénom, tu prévois une BDD (Base De Données) qui comprend deux champs différents (un pour le nom et un pour le prénom).
En revanche, quand tu sais que tu traiteras toujours le nom et le prénom ensemble, tu peux te contenter d'un seul champ dans ta BDD pour le nom et le prénom.
Oui tu as raison, j'aurais du y penser.
 
re
VB:
Sub test()
    x = Nom_Prenom("DE LA VILLARDIERE Jean Edhourd")
    MsgBox x(1) & vbCrLf & x(2)
End Sub
Function Nom_Prenom(chaine)
    Dim t(1 To 2),tx,i&
    tx = Split(chaine, " ")
    For i = 0 To UBound(t)
        If UCase(tx(i)) = tx(i) Then t(1) = Trim(t(1)) & " " & tx(i) Else Exit For
    Next
    t(2) = Trim(Replace(chaine, t(1), ""))
    Nom_Prenom = t
End Function
en formule
pour le nom
=Nom_Prenom(A1)

pour le prenom
=INDEX(Nom_Prenom(A1);2)

la condition pour le lastname étant le ucase bien sur et sans dérogation
 
Le problème est l'espace, non les majuscules,.
Il sera impossible de trouver avec DUPONT Marie Thérèse sauf à mettre DUPONT Marie thérèse.
Le seul moyen de vous en sortir est le tiret : DUPONT Marie-Thérèse.
Cela me semble pourtant simple à comprendre. Utiliser juste l'espace comme séparateur ne permettra jamais de couvrir 100% des cas.
Une possibilité est d'utiliser des espaces insécables dans les noms et les prénoms, en lieu et place des espaces normales. 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour