Une colonne se vide suite à une manip

Bonjour à tous

J’ai une colonne A de noms et de prénoms séparés par un espace

A côté de A se trouve une colonne B

Je cherche à créer une colonne « noms » et une colonne « prénoms »

A noms (1° colonne )

B prénoms (seconde colonne )

Je crée donc une nouvelle colonne vierge B (donc l’ancienne B deviendra C)

Puis je procède à la manip suivante aimablement proposée par vba-new :

Je sélectionne ma colonne A puis je fais

Menu DONNEES / CONVERTIR / SUIVANT / dans séparateurs, je coche également 'Espace' / SUIVANT / TERMINER

Ça marche j’ai bien une colonne A « noms » B »prénoms » MAIS Mon ancienne colonne B maintenant C a perdu ses données !

Est-ce que quelqu’un peut me conseiller ?

Merci

Bonjour,

tu dois avoir des espaces à la fin...

Dans l'étape 2, n'oublie pas de cocher "Interpréter des séparateurs identiques consécutifs comme uniques"

Bonne soirée

Merci mais...

j'avais bien coché : "Interpréter des séparateurs identiques consécutifs comme uniques"

Qu'entens-tu par "tu dois avoir des espaces à la fin... "

à la fin des noms (puisque les prénoms sont en premier) ? C'est le cas !

Re-,

Tu dois également en avoir au début de la cellule

dans ce cas, tu insères 2 colonnes, puis tu supprimeras la colonne A (qui ne contient que des espaces) si toutes tes cellules commencent par des espaces..

Sinon, il te faudra un code pour supprimer les espaces (devant et derrière)

Bonsoir Baldwin, CousinHub

vérifie peut être à l'étape 3 de la conversion, le nombre de colonnes, s'il y en a 3 vérifie le contenue et s'il y a lieu, à cette même étape coche "colonne non distribuée".

bonne soirée

@+

Merci

"dans ce cas, tu insères 2 colonnes, puis tu supprimeras la colonne A (qui ne contient que des espaces) si toutes tes cellules commencent par des espaces.. "

Peux-tu être plus clair ?

et peux-tu me donner code pour supprimer les espaces (devant et derrière) ?

En effet, cela pose problème.

La méthode avec DONNEES / CONVERTIR ... permet de mettre dans des colonnes différentes les données séparées par un espace. Or, dans tes noms/prénoms, certains contiennent 3 voire 4 noms! D'où la création de 3-4 colonnes lors de la conversion et par conséquent, le remplacement des données de la colonne C.

Si tu ne veux pas que la colonne C soit remplacée, il faudrait rajouter 3-4 colonnes.

Ce que tu ne souhaites pas puisque tu veux seulement mettre sur 2 colonnes tes noms/prénoms.

Je te laisse voir une solution dans le fichier suivant : https://www.excel-pratique.com/~files/doc2/cij9aDk2k7_v1.zip

En jaune, les colonnes que j'ai créées.

Si problème, reviens.

Un grand merci à toi vba-new

ça fonctionne au poil ! Peux-tu m'expliquer comment tu as fait ?

@+

-D'autre part si je trie par ex la dernière colonne sur x ("à imprimer") je n'obtiens pas la liste de tous les livres de chaque auteur !

J'avais déjà eu ce pb hier et pensais que cela venait d'un bug (voir post https://www.excel-pratique.com/forum/viewtopic.php?t=12531&highlight= ) mais apparemment le pb persiste...

Y vois-tu un remède ?

Il n'y a pas de quoi

Explication des formules :

En B2 par exemple tu as ça :

=SI(A2="";"";GAUCHE(A2;TROUVE(" ";A2)-1))

Cette formule permet d'extraire le prénom. Grâce à la fonction TROUVE(" ";A2), cela me donne la position où se trouve le premier espace (" ") entre le prénom et le nom de la cellule A2. Si par exemple le nom/prénom est "bald win win", cette fonction me renvoie 5.

La fonction GAUCHE(A2;TROUVE(" ";A2)-1) permet d'extraire un certain nombre de caractères à partir de la gauche. Avec "bald win win" en A2, on a donc GAUCHE(A2;5-1) = GAUCHE(A2;4) = bald

En C2, tu as cette formule :

=SI(A2="";"";DROITE(A2;NBCAR(A2)-TROUVE(" ";A2)))

On prend comme exemple "bald win win" en A2 :

- On cherche la position du premier espace avec TROUVE(" ";A2) : =5

- On compte le nombre de caractères que comporte "bald win win" avec NBCAR(A2) : =12

- On compte le nombre de caractère se trouvant à droite du premier espace avec NBCAR(A2)-TROUVE(" ";A2) : =12-5 =7

- On extrait ensuite le nom par la droite avec la fonction DROITE(A2;NBCAR(A2)-TROUVE(" ";A2)) = DROITE(A2;12-5) = DROITE(A2;7) = win win

Si l'explication n'est pas assez claire, reviens et tu me dis où ça coince.

Pour ton problème de x, je te conseille d'en mettre en face de tous les livres d'un auteur que tu souhaites imprimer

Rechercher des sujets similaires à "colonne vide suite manip"