Bonjour tout le monde,
Pourriez vous m'aider svp. en fait j'ai dans une même cellule( B) le nom + le prénom de la personne je veux les séparer pour avoir le nom dans une cellule (c) et le prénom dans une autre cellule (d), dans les noms et prénom j ai des cas particulier
ce n'est pas tjs un mot pour le prénom et un mot pour le nom
la particularité de ma base c'est que mes prénoms sont tjs en minuscule sauf la première lettre et les nom de famille en majuscule
donc quelle technique utiliser pour séparer le mots en majuscule des mots en minuscule (en tenant pas compte de la première lettre).
j'ai met en pièce jointe une capture d'écran qui montre la structure de ma base.
j'ai trouvé sur ce forum ce code mais il ne marche pas.
Sub Macro1()
Dim cel As Range 'déclare la variable cel
Dim x As Integer 'décalre la variable x
'boucle 1 sir toutes les cellules éditées de la colonne A
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
'boucle 2 sur tous les caractères de la cellule
For x = 1 To Len(cel.Value)
'condition : si le caractère est une majuscule (voir code des caractères)
If Asc(Mid(cel.Value, x, 1)) > 65 And Asc(Mid(cel.Value, x, 1)) < 91 Then
cel.Offset(0, 1).Value = Left(cel.Value, x - 2) 'écrit le prénom en colonne B
cel.Offset(0, 2).Value = Mid(cel.Value, x) 'écrit le nom en colonne C
Exit For 'sort de la boucle 2
End If 'fin de la condition
Next x 'prochain caractère de la boucle 2
Next cel 'prochaine cellule de la boucle 1
End Sub
Une idée SVP??
Pourriez vous m'aider svp. en fait j'ai dans une même cellule( B) le nom + le prénom de la personne je veux les séparer pour avoir le nom dans une cellule (c) et le prénom dans une autre cellule (d), dans les noms et prénom j ai des cas particulier
ce n'est pas tjs un mot pour le prénom et un mot pour le nom
la particularité de ma base c'est que mes prénoms sont tjs en minuscule sauf la première lettre et les nom de famille en majuscule
donc quelle technique utiliser pour séparer le mots en majuscule des mots en minuscule (en tenant pas compte de la première lettre).
j'ai met en pièce jointe une capture d'écran qui montre la structure de ma base.
j'ai trouvé sur ce forum ce code mais il ne marche pas.
Sub Macro1()
Dim cel As Range 'déclare la variable cel
Dim x As Integer 'décalre la variable x
'boucle 1 sir toutes les cellules éditées de la colonne A
For Each cel In Range("A1:A" & Range("A65536").End(xlUp).Row)
'boucle 2 sur tous les caractères de la cellule
For x = 1 To Len(cel.Value)
'condition : si le caractère est une majuscule (voir code des caractères)
If Asc(Mid(cel.Value, x, 1)) > 65 And Asc(Mid(cel.Value, x, 1)) < 91 Then
cel.Offset(0, 1).Value = Left(cel.Value, x - 2) 'écrit le prénom en colonne B
cel.Offset(0, 2).Value = Mid(cel.Value, x) 'écrit le nom en colonne C
Exit For 'sort de la boucle 2
End If 'fin de la condition
Next x 'prochain caractère de la boucle 2
Next cel 'prochaine cellule de la boucle 1
End Sub
Une idée SVP??