Accueil – Le CFO masqué › Forums › Excel › Supprimer X caractères en début et fin de cellule
- Ce sujet contient 7 réponses, 4 participants et a été mis à jour pour la dernière fois par
Olivier Cucuat, le il y a 1 année et 10 mois.
-
AuteurMessages
-
3 avril 2023 à 10 h 09 min #127142
alex.degidio86
ParticipantBonjour,
A partir d’un fichier Excel auquel on y attache des pièces jointes, il est ensuite envoyé dans un ERP, le problème est que le nom de fichier de base qui est envoyé contient le chemin du fichier, exemples :
C:\Temp\Annexe.pdf
ou
G:\User\Documents\Temp\Annexe.pdfJ’ai donc dans une cellule le nom de fichier “barbare” et j’aimerai afficher uniquement le nom donc sans le chemin au début “C:\” etc… et sans le “.pdf” de la fin.
La fin étant dans la même avec “.pdf” donc 4 caractères, je pense que c’est simple, mais le début me pose vraiment problème.
Est-ce que quelqu’un a une idée de comment extraire le nom du fichier ?
Merci d’avance.
4 avril 2023 à 1 h 26 min #127156Xavier Allart
ParticipantBonjour
En PowerQuery,
Selectionner la colonne avec le chemin du fichier
dans le menu Transformer ou Ajouter une colonne en fonction du besoin
utiliser la commande Extraire > Texte entre les délimiteurs :
Délimiteru du début : \
Délimiteur de fin : .
Options avancées
Rechercher le délimenteur de début : à partir de la fin de l’entréeCordialement
Attachments:
You must be logged in to view attached files.4 avril 2023 à 5 h 09 min #127159Olivier Cucuat
ParticipantBonjour Alex,
En complément de la réponse de Xavier, je vous propose la formule Excel suivante :
(Le chemin du fichier était en cellule C5 pour mon test)
=SUPPRESPACE(DROITE(SUBSTITUE(GAUCHE(C5;(TROUVE(“.”;C5;1)-1));”\”;REPT(” “;NBCAR(GAUCHE(C5;(TROUVE(“.”;C5;1)-1)))));NBCAR(GAUCHE(C5;(TROUVE(“.”;C5;1)-1)))))Dans le cas suivant : G:\User\Documents\Temp\Annexe.pdf, la formule va vous donner “Annexe” en résultat. Idem si le chemin est par exemple C:\Temp\Annexe.pdf
Comment fonctionne la formule : elle va chercher le dernier caractère spécial de la chaîne, ici “\”, puis récupérer la chaîne avant le *.pdf
ça fonctionne quelle que soit la longueur du chemin.
Bonne journée
Olivier
4 avril 2023 à 5 h 32 min #127160alex.degidio86
ParticipantBonjour Xavier,
Est-ce que cela fonctionne quelle que soit la longueur du chemin ?
Par exemple si le chemin contient plusieurs slash, G:\Documents\App\NomDuFichier.pdf, est-ce que le fait de mettre entre le délimiteur “\” il va prendre automatiquement le dernier ou plutôt le plus proche de l’autre délimiteur à savoir le point.
4 avril 2023 à 5 h 52 min #127162alex.degidio86
ParticipantBonjour Olivier,
J’ai essayé la formule (em modifiant la position de cellule) mais cela ne fonctionne pas.
Que ce soit avec C:\Temp\Annexe.pdf ou G:\User\Documents\Temp\Annexe.pdf.Par contre le fait que cela doit fonctionner quelle que soit la longueur du chemin est parfait parce que c’est exactement le problème qu’on a.
4 avril 2023 à 6 h 22 min #127163Olivier Cucuat
ParticipantBonjour Alex,
Vous trouverez le fichier test en attache 😉
Olivier
Attachments:
You must be logged in to view attached files.5 avril 2023 à 8 h 10 min #127200Stéphane Lorin
ParticipantBonjour
avec une version récente d’Excel 365 vous avez les fonctions TEXTE.AVANT et TEXTE.APRES
=TEXTE.AVANT(TEXTE.APRES(A1;”\”;-1);”.”)
le -1 pour la dernière occurrence du \
Stéphane
5 avril 2023 à 11 h 05 min #127203Olivier Cucuat
ParticipantBonjour Stéphane,
Merci beaucoup pour l’update sur les formules, bien plus simple d’utilisation qu’avec les anciennes 🙂
Olivier
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.