Notepad++ besoin de créer des sauts de ligne avec variante de condition
Résolu/Fermé
Lyne
-
4 févr. 2021 à 00:03
maclesglyne Messages postés 8 Date d'inscription dimanche 7 février 2021 Statut Membre Dernière intervention 8 février 2021 - 8 févr. 2021 à 00:32
maclesglyne Messages postés 8 Date d'inscription dimanche 7 février 2021 Statut Membre Dernière intervention 8 février 2021 - 8 févr. 2021 à 00:32
A voir également:
- Notepad++ retour à la ligne
- Aller à la ligne excel - Guide
- Telecharger notepad++ - Télécharger - Édition & Programmation
- Retour à la ligne google sheet - Forum Excel
- Retour a la ligne google sheet ✓ - Forum Excel
- Ligne occupée - Forum SFR
5 réponses
jee pee
Messages postés
40596
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
9 463
Modifié le 4 févr. 2021 à 00:42
Modifié le 4 févr. 2021 à 00:42
Bonjour,
essayer remplacer
on pourrait aussi faire avec
essayer remplacer
^("[0-9][0-9][0-9][0-9][0-9]")$par
\n\1avec expression régulière cochée
on pourrait aussi faire avec
^("\d{5}")$pour 5 digits
jee pee
Messages postés
40596
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
9 463
Modifié le 4 févr. 2021 à 18:45
Modifié le 4 févr. 2021 à 18:45
Il est surement possible de se passer de cette étape. Dans Excel on pourrait imaginer une colonne avec une formule qui détermine si c'est une ligne entete ou détail
=SI(ET(STXT(A1;1;1)="""";ESTNUM(CNUM(STXT(A1;2;5)));
STXT(A1;7;1)="""");"Entete";"Detail")
maclesglyne
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
8 février 2021
7 févr. 2021 à 22:47
7 févr. 2021 à 22:47
rebonjour,
désolée pour la réponse tardive mais j'ai eu un soucis familial.
Un grand merci pour ton aide :)
alors sur Excel, le csv il n'y a pas de " " qui entoure le numéro de commande
de ce fait éventuellement, je peux lui dire si ça commence par 5 numéros alors... mais je ne trouve pas sur les forum.
désolée pour la réponse tardive mais j'ai eu un soucis familial.
Un grand merci pour ton aide :)
alors sur Excel, le csv il n'y a pas de " " qui entoure le numéro de commande
de ce fait éventuellement, je peux lui dire si ça commence par 5 numéros alors... mais je ne trouve pas sur les forum.
jee pee
Messages postés
40596
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
9 463
7 févr. 2021 à 23:10
7 févr. 2021 à 23:10
Ton fichier .csv si tu veux l'exploiter avec la virgule en séparateur de champ, il faut le renommer en .txt
lancer excel, fichier/ouvrir le .txt
dire fichier avec séparateur, sélectionner la virgule. Ainsi tu as des colonnes.
Pour différencier ligne entête et ligne suite, tu rajoutes une colonne vide en A, et en A2 tu mets la formule suivante
lancer excel, fichier/ouvrir le .txt
dire fichier avec séparateur, sélectionner la virgule. Ainsi tu as des colonnes.
Pour différencier ligne entête et ligne suite, tu rajoutes une colonne vide en A, et en A2 tu mets la formule suivante
=SI(ESTNUM(CNUM(B2));"Entete";"******")que tu dupliques sur toutes les lignes qui suivent
maclesglyne
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
8 février 2021
7 févr. 2021 à 23:17
7 févr. 2021 à 23:17
ha oui super idée... ça marche ! par contre j'ai juste un bémol avec cette méthode
Tu vois sur notepad l'avantage que j'avais avant (il y avait CR + LF quand c'était un saut de ligne après chaque commande et un LF quand la commande était scindée en plusieurs lignes.
Donc j'utilisais le recherche remplace par (je copiais le LF et remplacer par rien) de ce fait mon cvs se mettait tout seul une ligne par commande et je passais par excel. Fonction convertir par le séparateur de virgules et ... j'avais en deux clics mon fichier exploitable.
là avec ta solution (qui est déjà top merci :))
une fois les lignes différenciées entre entete et ligne suite, tu aurais un moyen pour que ça se mette à la suite tout seul. Car quand j'exploite un mois complet je peux avoir 5 à 6000 lignes Excel ... a la main je vais galérer...
Tu vois sur notepad l'avantage que j'avais avant (il y avait CR + LF quand c'était un saut de ligne après chaque commande et un LF quand la commande était scindée en plusieurs lignes.
Donc j'utilisais le recherche remplace par (je copiais le LF et remplacer par rien) de ce fait mon cvs se mettait tout seul une ligne par commande et je passais par excel. Fonction convertir par le séparateur de virgules et ... j'avais en deux clics mon fichier exploitable.
là avec ta solution (qui est déjà top merci :))
une fois les lignes différenciées entre entete et ligne suite, tu aurais un moyen pour que ça se mette à la suite tout seul. Car quand j'exploite un mois complet je peux avoir 5 à 6000 lignes Excel ... a la main je vais galérer...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jee pee
Messages postés
40596
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
26 décembre 2024
9 463
Modifié le 8 févr. 2021 à 00:22
Modifié le 8 févr. 2021 à 00:22
Pour traiter ton fichier il faut procéder par étapes :
ajouter devant le n° de cde
supprimer tous LF
remplacer
ajouter devant le n° de cde
^("\d{5}")une chaine improbable
#XYZ#XYZ#\1.
supprimer tous LF
\npar rien .
remplacer
#XYZ#XYZ#par CRLF
\r\n.
maclesglyne
Messages postés
8
Date d'inscription
dimanche 7 février 2021
Statut
Membre
Dernière intervention
8 février 2021
8 févr. 2021 à 00:32
8 févr. 2021 à 00:32
tu es MAGIQUE !
cela fonctionne....
un grand merci Jee Pee ...
une belle epine du pied :):):):):):)
cela fonctionne....
un grand merci Jee Pee ...
une belle epine du pied :):):):):):)
Modifié le 4 févr. 2021 à 01:21
cela n'a pas fonctionné
j'ai mis dans la zone recherche
^("[0-9][0-9][0-9][0-9][0-9]")$
j'ai mis dans la zone remplacer par
\n\1
qui est le code pour saut de ligne :)
j'ai ensuite mis dans la zone recherche
^("\d{5}")$
pareil en cochant expression régulière ... mais il ne trouve aucune occurrence
en plus comme il y a des codes postaux à l'intérieur également entourés de guillemets, il faut vraiment que l'hypothèse soit en début de ligne (un peu comme la formule estnum associé à gauche dans excel
j'ai essayé sur Excel mais trop complexe si on passe pas par VB ... et VB c'est loin pour moi :)
Modifié le 4 févr. 2021 à 01:42
Le ^ signifie en début de ligne et le $ fin de ligne, on ne prend donc que des lignes avec 7 caractères "nnnnn"
C'est peut être le séparateur de lignes du fichier, c'est cr+lf ou lf
Il faudrait mettre quelques lignes dans une reponse sur le forum mais mieux un fichier exemple sur un site de dépot comme cjoint.fr
4 févr. 2021 à 01:47
ou alors enlever le $
7 févr. 2021 à 22:47
Modifié le 7 févr. 2021 à 22:58
[moderation]
je ne sais pas si tu arrives à l'ouvrir