mise en forme noms et prénoms

doclaude

XLDnaute Nouveau
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
 

youky(BJ)

XLDnaute Barbatruc
Re : mise en forme noms et prénoms

Bonjour Claude
Bienvenu pour le 1er message
Pour trouver j'ai mis la formule en B1 =nompropre(A1)
J'ai affiché la fenêtre exécution et j'ai écris:
?[B1].Formula
Bruno
Code:
Private Sub CommandButton1_Click()
'en colonne A   nom prénom
For Each c In Range("A2:A" & [A65536].End(xlUp).Row)
'en col C   Nom Prénom
Cells(c.Row, 3) = Application.Proper(Cells(c.row, 1))'ligne et colonne
Next
End Sub
 

doclaude

XLDnaute Nouveau
Re : mise en forme noms et prénoms

bonjour Bruno et merci
je n'ai pas bien compris ta réponse
par contre j'ai testé la fonction Proper que je ne connaissais pas et qui est géniale
4 lignes suffisent
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 tiret
prenom = Application.Proper(prenom)



Génial
merci
claude
 

Discussions similaires

  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
463

Statistiques des forums

Discussions
314 653
Messages
2 111 592
Membres
111 208
dernier inscrit
estalavista