Deux prénom dans une cellule

  • Initiateur de la discussion Initiateur de la discussion maval
  • 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 !

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
 
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
 
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+
 
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+
 
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

Dernière édition:
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+
 
- 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

Réponses
18
Affichages
584
Réponses
15
Affichages
779
Réponses
1
Affichages
171
Réponses
22
Affichages
1 K
Retour