Bonjour spage, Fred,
J'ai d'abord corrigé les nombreuses anomalies de la donnée qui est en cellule D3 (sur 5 lignes) :
ligne n° 1 : "AP : 01 12 13 " → "AP : 01 12 13" ; j'ai enlevé l'espace en trop après le 13
ligne n° 3 : "Précedent : 22 " → "Précédent : 22" ; j'ai enlevé les 14 espaces en trop après le 22 ; j'ai enlevé un espace en trop après le ":" ; j'ai mis un "é" au lieu de "e" après le "c"
ligne n° 4 : "Suivant : 45 " → "Suivant : 45" ; j'ai enlevé les 4 espaces en trop après le 45 ; j'ai enlevé 2 espaces en trop après le ":"
ligne n° 5 : eh oui, y'a une 5ème ligne en trop, car y'a un CAR(10) en trop à la fin de D3, dû à un Alt Entrée de trop inutile ! j'ai bien sûr supprimé cette ligne (touche Retour arrière = Backspace).
finalement, sur les 5 lignes, y'a qu'la ligne 2 qu'y'a pas eu besoin d'être corrigée ! quelle chance, hein ? faut pas vous étonner, après ça, si j'gagne jamais au loto !
et tout ça sur une seule cellule ! j'ose pas imaginer c'que ça doit être sur toutes les cellules du vrai fichier !
toutes ces anomalies ayant été corrigées, on peut passer à la suite.
Extraire chaine entre deux mots.xlsx
Solution sans VBA ; tu pourras voir qu'on peut faire le job par 4 formules plus simples : de E3 à H3
Extraire chaine entre deux mots.xlsm
Solution VBA : E3:H3 : vide ; Ctrl e ➯ travail effectué ; Alt F11 pour voir le code VBA, puis revenir sur Excel
Si besoin, tu peux demander une adaptation.
Merci de me dire si ça te convient.
dhany
Bonjour Dhany,
Merci bien pour tout ce travail... en plus de la "grammaticalité" de la chose.
Pour les corrections des espaces et des retours, malheureusement, le fichier arrive tel quel d'une base de donnée et possède 9 000 lignes.
Mais le tout fonctionne parfaitement.
Pour la méthode avec Macro.
je vois bien que le code 10 est le changement de ligne dans la même cellule (ALT ENTRÉE) et que la BD semble produire ce code.
J'espère juste que ce n'est pas quelqu'un qui me fournit le fichier qui a fait les 9000 lignes manuellement
Je test la macro avec les 9 000 lignes et je vous reviens.