Passage d'une cellule à une autre.urgent

Résolu/Fermé
eslias Messages postés 14 Date d'inscription vendredi 14 août 2015 Statut Membre Dernière intervention 24 août 2015 - 24 août 2015 à 11:28
 eslias - 26 août 2015 à 15:34
Bonjour équipe CCM,

Mon problème réside au niveau du découpage des données contenues dans une cellule... dans ma feuille de calcul source le contenu des cellules est un ensemble de données que je veux découper pour les afficher dans ma feuille de destination. Par exemple j'ai dans la cellule de la feuille source le nom et le prénom d'un étudiant et dans ma nouvelle feuille j'ai une colonne pour renseigner uniquement sur les noms et une autre colonne pour renseigner sur les prénoms alors je veux couper uniquement le nom dans la cellule source pour le ranger dans ma colonne "nom" et couper le prénom pour le ranger dans ma colonne "prénom".


Fichier source
Douala_Ndogpassi2-MX PK8-Essiac_LIT_443 PK8-Essiac-HR_6

Dans ma feuille destination je souhaite ranger Douala_Ndogpassi2-MX dans une cellule appartenant à la colonne « noms BSC » et PK8-Essiac_LIT_443 dans une cellule appartenant à la colonne « noms BTS »et PK8-Essia-HR_6 dans une cellule appartenant à la colonne « noms cellule »



Je veux que cela se fasse automatiquement à l'aide d'une formule et SVP que le découpage soit exacte.

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 24/08/2015 à 11:50
Bonjour

pour pouvoir ressortir des textes via des formules il faut des argument et vous n'en donnez pas beaucoup, pour ne pas dire aucun
quels sont ils?

à tout hasard , en attendant, pour découper selon les deux blancs qui séparent apparemment vos textes:

pour un texte en A1, à adapter

partie en B1:
=STXT(A1;1;TROUVE(" ";A1;1)-1)

partie en C1:
=STXT(A1;TROUVE("/";SUBSTITUE(A1;" ";"/";2);1)+1;50)

partie en C1 (qui dépend des deux autres):
=STXT(A1;TROUVE(" ";A1;1)+1;NBCAR(A1)-NBCAR(B1)-NBCAR(D1)-2)


Mais si vos données sont statiques et à transformer en une seule fois, vous pouvez utiliser pour le même résultat la fonction Données/convertir/ avec le blanc comme séparateur


crdlmnt

Errare humanum est, perseverare diabolicum
0
eslias Messages postés 14 Date d'inscription vendredi 14 août 2015 Statut Membre Dernière intervention 24 août 2015
24 août 2015 à 12:48
Merci énormément Vaucluse... J'ai l'impression que je suis face à un ange; je suis super impressionnée car votre formule a exactement résolu mon problème de découpage. j'ai le résultat attendu ... vraiment j'ai déjà envie d'approfondir ma formation avec vous.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416 > eslias Messages postés 14 Date d'inscription vendredi 14 août 2015 Statut Membre Dernière intervention 24 août 2015
24 août 2015 à 12:51
un ange?... Mon Dieu... non! surtout pas.Ceci dit,, je passe le sujet en résolu et vous souhaite une bonne route vers le paradis de Microsoft.(ben voyons)
A votre service si d'autres besoins.
Crdlmnt
0
eslias Messages postés 14 Date d'inscription vendredi 14 août 2015 Statut Membre Dernière intervention 24 août 2015
24 août 2015 à 13:02
Je reviens Vaucluse.. puisque tes formules marchent très bien, peux-tu m'expliquer ces lignes de codes afin de savoir exactement ce qu'elles sont tâchées exécuter car jusqu'à présent ce que j'ai fait c'est un copier/coller
=STXT(A1;1;TROUVE(" ";A1;1)-1) ?
=STXT(A1;TROUVE("/";SUBSTITUE(A1;" ";"/";2);1)+1;50)?
=STXT(A1;TROUVE(" ";A1;1)+1;NBCAR(A1)-NBCAR(B1)-NBCAR(D1)-2) ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 416
Modifié par Vaucluse le 24/08/2015 à 14:41
Allons y, mais par écrit, je ne garantis pas la clarté des explications!
Principe de base:
STXT
=STXT(Texte initial; N° de départ;Nombre de caractères)
Renvoie la partie du texte initial qui commence au N° de départ et qui contient le nombre de caractère indiqués

Fonctions accessoires:
TROUVE
=TROUVE(Texte cherché;texte;N° de départ)

SUBSTITUE
SUBSTITUE(Texte;ancien texte; nouveau texte; rang)
Remplace l'ancien texte par le nouveau au rang indiqué
(par exemple dans notre cas_voir plus loin_ le 2° blanc par un slash)

NBCAR
=NBCAR(cell)
compte le nombre de caractère d'une cellule

Donc dans la 1° formule

=STXT(A1;1;TROUVE(" ";A1;1)-1)

STXT(A1 demande d'aller chercher dans A1
;1 demande de démarrer l'édition au début du texte
TROUVE(A1;" ";1) définit la position du premier blanc dans le texte en A1 et donc la longueur du texte à éditer
Le -1 assure l'élimination du blanc en fin de texte

Dans la 3° formule (qui va contribuer ensuite à la seconde)

=STXT(A1;TROUVE("/";SUBSTITUE(A1;" ";"/";2);1)+1;50)?

SUBSTITUE(A1;" ";"/";2) transforme le deuxième blanc du texte en slash de façon à permettre à TROUVE de détecter la position sans confondre avec le premier
TROUVE donne donc la position de ce slash dans le texte en A1 et donc le départ pour STXT (avec +1 toujours pour éliminer le blanc)
50 est un nombre arbitraire qui doit au minimum couvrir le nombre de caractères à éditer dans la partie de fin du texte. STXT s'arrêtera dans tous les cas au nombre de caractères utiles

Dans la 2° formule
=STXT(A1;TROUVE(" ";A1;1)+1;NBCAR(A1)-NBCAR(B1)-NBCAR(D1)-2)

TROUVE va chercher la position du premier blanc et, en rajoutant 1 donne donc le le départ du texte à éditer
NBCAR(A1)-NBCAR(B1)-NBCAR(D1)-2 compte le nombre de carcatères de A1, en déduit ceux utilisés en 1° formule, en 2° formule et 2 pour les blanc déjà éliminés

Et donc donne le nombre de caractères restant à éditer

Wouff... peux pas faire mieux!!
....mais Si vous comprenez avec ça, vous ne devez pas être mauvaise

Un petit conseil en complément: testez pour mieux comprendre les formules en décomposant et voyez les résultats à chaque fois:
=STXT(A1;5;10) par exemple
=TROUVE(A1;" ";1)
=SUBSTITUE(A1;" ";"/";2)
=NBCAR(A1)

Bon courage!!! Bien cordialement
0
eslias > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
26 août 2015 à 15:34
merci beaucoup Vaucluse
0