bonjour à tous
j'ai un gros fichiers excel avec une colonne de noms et une de prénoms
Evidemment, il faut vérifier les erreurs de saisie et remettre l'ensemble au format désiré, pour moi
NOM Prénom,
Je précise que je veux faire çà en VBA
Pour les noms je met tout en majsucules: (Ucase(nom)
pour les prénoms, il faut faire avec les prénoms composés
Mes recherches sur internet ne m'ont donné que des solutions fort complexes
Pour ma part, j'ai trouvé une solution relativement simple et qui marche (elle ne marche sûrement pas dans tous les cas ...)
dans la colonne Prenom, pour chaque cellule, je remplace les espaces éventuels par un -, je mets en Maj la première lettre du prénom et la première lettre qui suit le -
sub toto
'je fais une boucle sur la colonne
Do While ActiveCell <> ""
prenom = ActiveCell
prenom = Replace(prenom, " ", "-") 'au cas où il y aurait 2 espaces au milieu du prénom
prenom = Replace(prenom, " ", "-") 'remplace l'espace par un -
N = InStr(prenom, "-") 'chercher la place du -
If N > 0 Then
prenom = UCase(Left(prenom, 1)) & Right(prenom, Len(ActiveCell) - 1) 'première lettre en Maj
car = Mid(prenom, N + 1, 1) 'rang du -
prenom = Left(prenom, N) & UCase(car) & Right(prenom, Len(prenom) - N - 1)
ActiveCell = prenom
End If
ActiveCell.Offset(1).Activate
Loop
end sub
çà suppose bien sûr qu'il existe un espace entre les 2 parties du prénom composé
sur la logique, quelqu'un tourve-il quelque chose à modifier, améliorer ou changer
merci d'avance
claude
j'ai un gros fichiers excel avec une colonne de noms et une de prénoms
Evidemment, il faut vérifier les erreurs de saisie et remettre l'ensemble au format désiré, pour moi
NOM Prénom,
Je précise que je veux faire çà en VBA
Pour les noms je met tout en majsucules: (Ucase(nom)
pour les prénoms, il faut faire avec les prénoms composés
Mes recherches sur internet ne m'ont donné que des solutions fort complexes
Pour ma part, j'ai trouvé une solution relativement simple et qui marche (elle ne marche sûrement pas dans tous les cas ...)
dans la colonne Prenom, pour chaque cellule, je remplace les espaces éventuels par un -, je mets en Maj la première lettre du prénom et la première lettre qui suit le -
sub toto
'je fais une boucle sur la colonne
Do While ActiveCell <> ""
prenom = ActiveCell
prenom = Replace(prenom, " ", "-") 'au cas où il y aurait 2 espaces au milieu du prénom
prenom = Replace(prenom, " ", "-") 'remplace l'espace par un -
N = InStr(prenom, "-") 'chercher la place du -
If N > 0 Then
prenom = UCase(Left(prenom, 1)) & Right(prenom, Len(ActiveCell) - 1) 'première lettre en Maj
car = Mid(prenom, N + 1, 1) 'rang du -
prenom = Left(prenom, N) & UCase(car) & Right(prenom, Len(prenom) - N - 1)
ActiveCell = prenom
End If
ActiveCell.Offset(1).Activate
Loop
end sub
çà suppose bien sûr qu'il existe un espace entre les 2 parties du prénom composé
sur la logique, quelqu'un tourve-il quelque chose à modifier, améliorer ou changer
merci d'avance
claude