modifier mise en forme

  • Initiateur de la discussion Initiateur de la discussion gepetto3
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gepetto3

Guest
Hello,

Bonjour a tous vous actif sur le forum.

Voila je vous explique, j'ai plusieurs (45) fichier txt, je j'ai insérer dans Excel pour modifier quelque peux la mise en forme de ces fichier.
C'est à dire supprimer des chaines de caractère, et en copier d'autre à d'autre emplacement, et cela de manière plus ou moins automatiser.

Je vous ai joint un fichier xls, un grand discourt ne de remplacera pas le fichier
Je vous remercie de votre aide

Amicalement
Gepetto
 

Pièces jointes

Re : modifier mise en forme

Bonsoir,

C'est une opérattion sur des fichiers, pourquoi ne pas utiliser un gestionnaire de synchronisation ?
Excel est un outil mais içi je ne comprends pas son utilisation.

Votre chemin de départ fait une reference relative a la acine du disque dur mais aprés modification il n'y a plus aucune destination, est-ce normale?
 
Re : modifier mise en forme

Hello a tous,

Merci e de vous être pencher sur mon problème.

Oui il est tout à fait normal de supprimer une partie du chemin de recherche du dossier, comme la partie supprimer est référencer, dans le programme autocad, je n'ai pas besoin de le remettre, ce qui simplifie la migration.

Le truc c'est qu'il faudrait arriver à faire en automatique la même mise en forme que désirer, sinon autocad ne reconnait pas l'arboressance.

Maintenant si vous avez d'autre solution que Excel pour arriver a mes fin, je suis preneur

Je vous remercie.

Amicalement
Gepetto
 
Re : modifier mise en forme

Bonjour

Une possibilité en pièce jointe, toujours avec une formule matricielle, donc à valider avec Ctrl+maj tempo+entrer. On peut bien sûr "raccourcir" la formule en nommant certaines parties avec le gestionnaire de noms, comme je l'ai fait avec le nom lignedécalée. Ce dernier permet de prendre en compte A15 sur deux lignes successives, puis A16 sur les deux suivantes, puis A17 sur ...

@ plus
 

Pièces jointes

Dernière édition:
Re : modifier mise en forme

Hello,

Magnifique, c'est exactement ce que je voulais. Je te remercie

On peux vraiment faire des choses magnifique sur Excel.
J'avoue ne pas comprendre ta formule...

Encore un ENORME merci pour ton aide
 
Re : modifier mise en forme

onjour

Quelques explications au sujet de la formule matricielle dans le fichier précédent.
SI(EST.PAIR(LIGNE());
SUBSTITUE(STXT(lignedécalée;CHERCHE("dwg";lignedécalée);9^9);".dwg";"");
GAUCHE(STXT(lignedécalée;MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)))))+1;9^9);NBCAR(STXT(lignedécalée;MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)))))+1;9^9))-4))

SI(EST.PAIR(LIGNE()) permet de renvoyer, soit, pour les lignes paires, le résultat de la partie rouge de la formule ci-dessus, soit, pour les lignes impaires, le résultat de la partie bleue.

Lignedécalée =DECALER(Feuil1!$A$1;ENT((LIGNE()-13)/2)+14; ) renvoie en C15 et C16 le contenu de A15, en C17 et C18 le contenu de A16, en C19 et C20 le contenu de A17 et ainsi de suite.

En ligne 15, donc impaire, on a le résultat de la partie bleue de la formule ci-dessus, avec lignedécalée=A15.
LIGNE(INDIRECT("1:"&NBCAR(lignedécalée))) en matriciel donne la série de nombre {1;2;3;4;....;NBCAR(lignedécalée)} avec NBCAR le nombre de caractères de lignedécalée
STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1) donne la liste des caractères de lignedécalée {C;:;\;.....}
SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)) renvoie la position des \ dans lignedécalée à cause du test SI(......="\";.....
MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée))))) renvoie la position du dernier \
STXT(lignedécalée;MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)))))+1;9^9) renvoie le texte après le dernier \
La partie en bleue renvoie le texte après le dernier \ sans les 4 derniers caractères (à cause du -4 à la fin).

On peut faire un tout petit peu plus court avec (Cf. fichier en pièce jointe)
STXT(lignedécalée;MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)))))+1;NBCAR(STXT(lignedécalée;MAX(SI(STXT(lignedécalée;LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)));1)="\";LIGNE(INDIRECT("1:"&NBCAR(lignedécalée)))))+1;9^9))-4)

En ligne 16, donc paire (lignedécalée est toujours égal à A15) on a le résultat de la partie rouge de la formule ci-dessus
CHERCHE("dwg";lignedécalée) donne la position du dwg au milieu de lignedécalé
STXT(lignedécalée;CHERCHE("dwg";lignedécalée);9^9) renvoie tout le texte à partir de ce dwg du milieu
SUBSTITUE(STXT(lignedécalée;CHERCHE("dwg";lignedécalée);9^9);".dwg";"") efface le .dwg dans le texte donné par le STXT ci-dessus.

@ plus
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
284
Réponses
5
Affichages
631
W
Réponses
25
Affichages
1 K
Retour