Deux prénom dans une cellule

maval

XLDnaute Barbatruc
Bonjour

Dans une cellule je doit rentrer manuellement deux prénom, je recherche le code pour pouvoir mettre
ex: Pierre & Paul mettre le "&" entre les deux prénom

D'avance merci à qui pourra m'aider.
Cordialement
Maval
 

maval

XLDnaute Barbatruc
Re : Deux prénom dans une cellule

Bonjour Claude

Oui je sais bien qu'il y a le signe & sous le 1.
Mais se que je recherche c'est d'avoir un code qui le rentre automatiquement quand tu as 250 nom à rentrer sa facilite les choses

Merci

@+

Max
 

ralph45

XLDnaute Impliqué
Re : Deux prénom dans une cellule

Bonjour maval, Claude5, le forum,

Si tous tes prénoms sont séparés par une espace, tu peux faire un Rechercher/Remplacer en sélectionnant la colonne voulue :
1° Rechercher = " "
2° Remplacer par " & "

A+
 

job75

XLDnaute Barbatruc
Re : Deux prénom dans une cellule

Bonsoir à tous,

Dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, t As String
Set r = Intersect(Target, [A:A], Me.UsedRange)
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'en cas d'entrées multiples
  t = Application.Trim(Replace(r.Text, "&", "")) 'SUPPRESPACE
  r = Replace(t, " ", " & ")
Next
Application.EnableEvents = True
End Sub
La macro contrôle l'entrée des espaces en colonne A.

A+
 

maval

XLDnaute Barbatruc
Re : Deux prénom dans une cellule

Bonjour Job,

Je te remercie pour le code.
J'ai ajouter un morceau de code pour avoir les noms avec la première lettre en majuscule (Nom Propre) comme ceci:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

'Deux prénom avec & entre les deux
Dim r As Range, t As String
Set r = Intersect(Target, [D:D], Me.UsedRange) ' colonne D
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'en cas d'entrées multiples
  t = Application.Trim(Replace(r.Text, "&", "")) 'SUPPRESPACE
  r = Replace(t, " ", " & ")
Next
Application.EnableEvents = True

 'Nom en Nom Propre
 
        If Not Intersect(Target, [D3:D1000]) Is Nothing Then
    Application.EnableEvents = False
    Target.Value = Application.Evaluate("PROPER(""" & Target.Value & """)")
    Application.EnableEvents = True
 End If


End Sub

Aucun problème, j'ai bien mais noms séparer avec "&" et en nom propre (Pierre & Paul) jusqu'ici tous va bien, et lorsque je veut les supprimer soit manuellement soit par un code VBA j'ai un message d'erreur "Incompatibilité de type "
sur cet ligne.
Code:
Target.Value = Application.Evaluate("PROPER(""" & Target.Value & """)")

je joint mon fichier pour exemple.

Bonne journée et merci

@+
Max
 

Pièces jointes

  • Deux prenoms dans une cellule2.xlsm
    20.1 KB · Affichages: 40
Dernière édition:

job75

XLDnaute Barbatruc
Re : Deux prénom dans une cellule

Bonjour maval, le forum,

Eh bien vous allez chercher midi à quatorze heures !

Utilisez Application.Proper dans la boucle :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, t As String
Set r = Intersect(Target, [D:D], Me.UsedRange) 'colonne D
If r Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each r In r 'en cas d'entrées multiples
  t = Application.Trim(Replace(r.Text, "&", "")) 'SUPPRESPACE
  r = Application.Proper(Replace(t, " ", " & "))
Next
Application.EnableEvents = True
End Sub
A+
 

Discussions similaires

  • Question
Microsoft 365 Nom et prénom
Réponses
3
Affichages
296

Statistiques des forums

Discussions
312 310
Messages
2 087 119
Membres
103 478
dernier inscrit
Frederic Lagger