Repérer un retour a la ligne à l'intérieur d'une cellule

MurielleC

Membre enregistré
8 Mars 2016
5
0
58
Bonjour,
je travaille sur des tableaux de destinataires comprenant environ une dizaine de colonnes et 800 à 1000 lignes. Je dois m'assurer qu'il n'y a aucune cellule contenant un retour à la ligne, je vous laisse estimer le nombre de cellules à vérifier … existe-t-il une façon de contrôler automatiquement ?
 
[A tester…]
Export au format .csv
Ouvrir avec le traitement de texte et recherche du caractère spécial…
 
je travaille sur des tableaux de destinataires comprenant environ une dizaine de colonnes et 800 à 1000 lignes. Je dois m'assurer qu'il n'y a aucune cellule contenant un retour à la ligne, je vous laisse estimer le nombre de cellules à vérifier … existe-t-il une façon de contrôler automatiquement ?
Oui.... Euh, serait-il possible de savoir de quel logiciel (en quelle version) et/ou quel format de fichier il est question ? Ça n'a l'air de rien, mais ça pourrait conditionner la possibilité de trouver des éléments de réponse... ;)

S'il devait s'agir d'Excel, par exemple, on peut saisir dans une cellule libre la formule suivante :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1)) et la valider avec la combinaison de touches "Commande-Entrée" pour que ça en fasse une formule matricielle (qui apparaît du coup entre des crochets) : si le nombre est différent de zéro, c'est qu'il y a des retours dans les dix premières colonnes et le nombre correspond au nombre de cellules concernées (il peut y avoir plusieurs retours dans une cellule).
 
Dernière édition:
Oui.... Euh, serait-il possible de savoir de quel logiciel (en quelle version) et/ou quel format de fichier il est question ? Ça n'a l'air de rien, mais ça pourrait conditionner la possibilité de trouver des éléments de réponse... ;)

S'il devait s'agir d'Excel, par exemple, on peut saisir dans une cellule libre la formule suivante :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1)) et la valider avec la combinaison de touches "Commande-Entrée" pour que ça en fasse une formule matricielle (qui apparaît du coup entre des crochets) : si le nombre est différent de zéro, c'est qu'il y a des retours dans les dix premières colonnes et le nombre correspond au nombre de cellules concernées (il peut y avoir plusieurs retours dans une cellule).

Oups, comme vous pouvez le constatez je n'ai pas encore les bons réflexes pour donner les infos utiles … en tout cas il s'agit bien d'excel pour mac version 14.5.8 et je vais tester cette magnifique formule dès que j'aurais plus de 3 minutes devant moi. un grand merci à vous Aliboron et très bonne journée
 
Oui.... Euh, serait-il possible de savoir de quel logiciel (en quelle version) et/ou quel format de fichier il est question ? Ça n'a l'air de rien, mais ça pourrait conditionner la possibilité de trouver des éléments de réponse... ;)

S'il devait s'agir d'Excel, par exemple, on peut saisir dans une cellule libre la formule suivante :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1)) et la valider avec la combinaison de touches "Commande-Entrée" pour que ça en fasse une formule matricielle (qui apparaît du coup entre des crochets) : si le nombre est différent de zéro, c'est qu'il y a des retours dans les dix premières colonnes et le nombre correspond au nombre de cellules concernées (il peut y avoir plusieurs retours dans une cellule).

C'est encore moi … votre formule a bien fonctionné, et je sais maintenant que sur mes 7 490 cellules 125 ont un retour à la ligne … mais comment savoir lesquelles ? AU SECOURS !!!
 
[A tester…]
Export au format .csv
Ouvrir avec le traitement de texte et recherche du caractère spécial…

il n'y a pas de caractère spécial, sauf a rentrer dans "rechercher" le caractère qui correspondrait à "retour à la ligne" mais je ne le connais pas ; une petite idée peut-être ?? :siffle:

S'il devait s'agir d'Excel, par exemple, on peut saisir dans une cellule libre la formule suivante :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1)) et la valider avec la combinaison de touches "Commande-Entrée" pour que ça en fasse une formule matricielle (qui apparaît du coup entre des crochets) : si le nombre est différent de zéro, c'est qu'il y a des retours dans les dix premières colonnes et le nombre correspond au nombre de cellules concernées (il peut y avoir plusieurs retours dans une cellule).

Pouvez-vous également (pour ma culture personnelle) me transcrire votre formule en bon français … :sorry: ça m'aidera à m'en souvenir et par déduction peut-être à en trouver d'autres qui me seront utiles … merci !:)
 
Dernière édition par un modérateur:
Bonjour,

sujet intéressant. Question à @Aliboron : dans Excel, la fonction EPURAGE supprime-t-elle les sauts de ligne ? Je n'ai plus Excel pour tester, LibreOffice les supprime.
Avec cette formule =SUBSTITUE(A8;CAR(10);" "), je remplace les sauts de ligne par une espace.

@MurielleC
pour obtenir la "traduction" des fonctions, un point de départ est de rechercher leur nom dans l'aide d'Excel.
 
Pouvez-vous également (pour ma culture personnelle) me transcrire votre formule en bon français … :sorry: ça m'aidera à m'en souvenir et par déduction peut-être à en trouver d'autres qui me seront utiles …
Comme vu précédemment, il serait bon de savoir de quelle application il est question...

S'il s'agit d'Excel (supposition) alors tu peux utiliser la formule indiquée :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1))
CAR(13) correspond au caractère invisible "retour chariot" ;
CHERCHE(CAR(13);A:J) recherche la présence du retour chariot dans les cellules des colonnes A à J. Il renvoie la position du premier qu'il trouve, mais on s'en fiche ;
Par contre, s'il ne trouve pas de retour chariot cette fonction (CHERCHE) on sait qu'il renvoie une erreur (inutilisable dans une formule),
ESTERR(CHERCHE(CAR(13);A:J)) permet d'obtenir une réponse logique VRAI en cas d'absence de retour chariot ;
Or, on veut savoir s'il y a des retours chariot dans la plage, donc on va décider que quand il y une erreur, on neutralise la réponse en lui donnant une valeur zéro et, a contrario, on va donner la valeur 1 quand il n'y a pas d'erreur, autrement dit lorsqu'on est en présence d'au moins un retour chariot ;
SI(ESTERR(CHERCHE(CAR(13);A:J));0;1) permet donc de donner ces valeurs en fonction du cas ;
C'est le total des cas qu'on veut analyser, on va donc faire la somme des réponses obtenues, avec la fonction SOMME :
=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1))
C'est là qu'intervient la petite astuce de la validation avec la combinaison de touches "Commande-Entrée" : elle permet de faire en sorte qu'Excel analyse la situation dans chacune de cellule de la plage et donne comme total la somme des résultats ;
{=SOMME(SI(ESTERR(CHERCHE(CAR(13);A:J));0;1))} affiche un nombre correspondant au nombre de cellules dans lesquelles il y a au moins un retour chariot, et donc 0 si aucune des cellules ne contient de retour chariot.

dans Excel, la fonction EPURAGE supprime-t-elle les sauts de ligne ? Je n'ai plus Excel pour tester, LibreOffice les supprime.
Oui, bien sûr, mais ça ne supprime pas que ça : tous les espaces sont également supprimés, ce qui n'arrange pas vraiment nos affaires... ;)

Avec cette formule =SUBSTITUE(A8;CAR(10);" "), je remplace les sauts de ligne par une espace.
Oui, ça fonctionne aussi dans Excel, du moins sous réserve d'utiliser CAR(13) et pas CAR(10). Encore faut-il savoir si et on doit en supprimer (dans un pavé de 1000 lignes sur 10 colonnes)...
 
Dernière édition:
  • J’aime
Réactions: aCLR

Oui, bien sûr, mais ça ne supprime pas que ça : tous les espaces sont également supprimés, ce qui n'arrange pas vraiment nos affaires... ;)
voilà qui m'étonne. J'ai toujours utilisé EPURAGE pour supprimer seulement les caractères de contrôle. Jusqu'à Excel 2013 en tous cas.
Je viens de tester avec LibreOffice 5.1.0.3, les espaces sont bien conservées.

Oui, ça fonctionne aussi dans Excel, du moins sous réserve d'utiliser CAR(13) et pas CAR(10). Encore faut-il savoir si et on doit en supprimer (dans un pavé de 1000 lignes sur 10 colonnes)...
OK, une différence entre Calc car(10) et Excel car(13).
Pour trouver les cellules, une matricielle qui renverrait l'adresse des cellules contenant les sauts de ligne ? Cette fonction m'échappe –encore une fois.
 
voilà qui m'étonne. J'ai toujours utilisé EPURAGE pour supprimer seulement les caractères de contrôle. Jusqu'à Excel 2013 en tous cas.
Oui. :shy: J'ai fait un amalgame avec SUPPRESPACE (et je me demande bien pourquoi) :shy: :sorry:

OK, une différence entre Calc car(10) et Excel car(13).
J'ai noté ça, aussi. Curieux d'ailleurs. Même s'il y a une logique à utiliser plutôt le saut de ligne (le code ASCII 10) que le retour chariot (code ASCII 13), Excel n'utilise que le retour chariot - probablement une vieille histoire de compatibilité.

LibreOffice convertit automatiquement en saut de ligne lorsqu'on ouvre un classeur Excel. Mais, curieusement, lorsqu'on enregistre en .csv il met tout de même des retours chariot...

Pour trouver les cellules, une matricielle qui renverrait l'adresse des cellules contenant les sauts de ligne ? Cette fonction m'échappe –encore une fois.
Oui, j'y ai pensé, évidemment. Si j'ai un peu de temps, je regarde ça...

Disons que, pour le moment, on sait retrouver la position (la ligne) dans laquelle se trouve la première cellule contenant un retour chariot avec la fonction (matricielle) suivante :
{=EQUIV(FAUX;ESTERR(CHERCHE(CAR(13);A:A));0)}
Seulement ça ne fonctionne que sur une colonne à la fois. Donc il faut tenter de compliquer un peu la formule - si c'est possible - jusqu'à trouver à la fois la ligne et la colonne... Je ne désespère pas, mais ça va prendre du temps...
 
Dernière édition: