OVH Cloud OVH Cloud

Utilisation d'Excel 2000

11 réponses
Avatar
Philippe Meresse
Bonjour à toutes et tous,
j'ai un tableau de plusieurs colonnes et plusieurs lignes mais je souhaite
diviser une colonne en deux en fonction des critères suivants:
dans la colonnes concernées se trouvent des prénoms et des noms écrit
sous cette forme, "Sophia Dorothea VAN RAEMDONCK" et je souhaite mettre les
où le prénoms dans une colonne et le nom dans une autre.
Si cela n'est pas possible je voudrais les séparer par un ";" et
après je me débrouillerais.
Merci d'avance pour l'aide que vous pourrez m'apporter.
Philippe Meresse de Haute Savoie

1 réponse

1 2
Avatar
Clément Marcotte
Bonjour,

Et avec ça ?


Sub C_est_presque_de_l_intelligence_artificielle()
Dim i As Long, derniereligne As Long, separemoica As Variant
Dim j As Byte, prenom As String, nom As String
derniereligne = [a65536].End(xlUp).Row
For i = 1 To derniereligne
separemoica = Split(Cells(i, 1).Value, " ")
For j = 0 To UBound(separemoica)
If separemoica(j) <> UCase(separemoica(j)) Then
prenom = prenom & " " & separemoica(j)
Else
nom = nom & " " & separemoica(j)
End If
Next
Cells(i, 2).Value = Trim(prenom)
Cells(i, 3).Value = Trim(nom)
prenom = ""
nom = ""
Next
End Sub

"Philippe Meresse" a écrit dans le
message de news:c6ekr0$pcu$
C'est encore moi,
ben là je comprends plus du tout,
je ne sais donner un exemple car maintenant ç'a plante tout le
temps. Sur un

nouveau fichier de même type, je ne passe que le première ligne
ensuite

ligne vide, niet!!! j'ai écrit un prénom et un nom fictif pour faire
avancer

mais plus rien ne marche alors que je viens de faire un autre
fichier de

11000 lignes tranquille avec seulement une dizaine de relance.
Je dois partir mais dès demain matin je fais d'autres tests.
Merci
"isabelle" a écrit dans le message de
news:
bonjour Philippe,

je l'ai testé sur les nom suivant et je n'ai pas de message
d'erreur.


peux tu me donner un exemple ?

Sophia Dorothea VAN RAEMDONCK
Dorothea VAN
RAEMDONCK
Sophia
VAN RAEMDONCK
Sophia Dorothea

isabelle


Bonsoir et merci pour cette macro que j'ai adapté avec mon
nombre de



ligne.
Alors cela marche très bien sauf si il n'y a pas de prénoms là
"j'ai



argument où appel de procédure incorrect" mais bon je vais
directement



où la
macro c'est arrêté et je mets un prénom fictif, je la relance et
c'est



bon
sauf que cela s'arrête souvent ;-)).
Merci

"isabelle" a écrit dans le message
de



news:
correction, il faut remplacer Exit Sub par Exit For

Sub Macro1()
For Each c In Range("A1:A2") 'à adapter
For i = 1 To Len(c)
If Mid(c, i, 1) = " " Then
If Asc(Mid(c, i + 1, 1)) > 64 And Asc(Mid(c, i + 2, 1)) < 91
Then




Range("B" & c.Row) = Left(c, i - 1)
Range("C" & c.Row) = Right(c, Len(c) - i)
Exit For
End If
End If
Next
Next
End Sub

isabelle


Bonsoir Olivier,
Hé bien malheureusement cela ne marche pas.
Précision, il peu y avoir 3, 4 prénoms et un nom souvent en
deux





partie
mais
toujours majuscule lors que les prénoms n'ont que la
première





lettre en
majuscule.
ex : Sophia Dorothea VAN RAEMDONCK.
@micalement,
Philippe

"Olivier Derrez" a écrit dans le message
de





news:408a4c1d$0$10948$

"Philippe Meresse" a écrit
dans le






message
de
news:c6dh5p$h4q$
Bonjour à toutes et tous,
j'ai un tableau de plusieurs colonnes et plusieurs
lignes mais







je
souhaite
diviser une colonne en deux en fonction des critères
suivants:







dans la colonnes concernées se trouvent des
prénoms et







des
noms
écrit
sous cette forme, "Sophia Dorothea VAN RAEMDONCK" et je
souhaite







mettre
les
où le prénoms dans une colonne et le nom dans une autre.
Si cela n'est pas possible je voudrais les
séparer par un







";"
et
après je me débrouillerais.
Merci d'avance pour l'aide que vous pourrez
m'apporter.







Philippe Meresse de Haute Savoie


C'est faisable en six étapes :


Si le Prénom, 2ème prénom, NOM se trouve en A1 :

1°) Utilise la formule suivante en B1
=GAUCHE(A1;TROUVE(" ";A1;1)-1)

2°) Utilise la formule suivante en C1
=DROITE(A1;NBCAR(A1)-TROUVE(" ";A1;1))

3°) Utilise la formule suivante en D1
=GAUCHE(C1;TROUVE(" ";C1;1)-1)

4°) Utilise la formule suivante en E1
±& " " &D1

5°) Utilise la formule suivante en F1
=DROITE(C1;NBCAR(C1)-TROUVE(" ";C1;1))

6°) Fais un Copier + Collage spécial/Valeur des deux
dernières






colonnes et
supprimer les précédentes

















1 2