Compter le nombre de lignes dans une cellule....

phsouchal

XLDnaute Nouveau
Bonjour,

Dans le cadre d'un import de fichier je suis confronté au problème suivant :

Je récupère un tableau dont une colonne contient des informations sous forme de texte.
Ce texte est sur plusieurs lignes au sein de la même cellule.

Problème : pour importer mes données une ligne de texte doit correspondre à une ligne d'import donc en résumé chaque ligne de ma cellule doit correspondre à une ligne excel tout en conservant les même valeurs dans les autres colonnes pour cet enregistrement... j'espère que je suis clair...

Donc je cherche une solution pour :
- Compter le nombre de lignes dans la cellule.
- Générer autant de lignes excel que le comptage - 1
- Ré-eclater chaque ligne de texte de la cellule dans une des lignes générées et de préférence dans le même ordre.
- Conserver les même valeurs dans les autres cellules pour les lignes générées.

Exemple :
A A A B
C
D
Devient :
A A A B
A A A C
A A A D

Merci d'avance à ceux qui souhaiterons se joindre à mon casse-tête et proposer des solutions ! N'hésitez surtout pas à me demander des infos complémentaires si mon explication manque de clarté...

Ps : pour plus de clarté un fichier ci-joint.

Merci ! :)
 

Fichiers joints

pierrejean

XLDnaute Barbatruc
Re : Compter le nombre de lignes dans une cellule....

bonjour phsouchal

les cellules comportant plusieurs lignes sont-elles toujours situées en colonne D ?
sinon donner le maximum d'exemples de lignes
 

phsouchal

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

Bonjour Pierrejean et merci pour votre réponse,

Oui il s'agît systématiquement de la colonne D.

Si vous souhaitez un exemple plus concret je peux fournir une partie du fichier d'origine.

J'ai quelque peu progressé de mon côté en réussissant à compter le nombre de retours à la ligne de la cellule D valeur que je ramène dans la cellule E en me disant que ça pourrait me servir comme référence pour le nombre de lignes à insérer.... Mais je ne sais pas si c'est la bonne méthode !...

Merci d'avance pour votre aide,
 

Tibo

XLDnaute Barbatruc
Re : Compter le nombre de lignes dans une cellule....

Bonjour,

Une solution de formuliste, avant l'arrivée des Vbaïstes ;) :

en D6 :

Code:
=SI(LIGNE()-6>NBCAR($D$2)-NBCAR(SUBSTITUE($D$2;CAR(10);""));"";STXT(SUBSTITUE(
SUBSTITUE(CAR(10)&$D$2&CAR(10);CAR(10);"µ";LIGNE()-5);CAR(10);"¤";LIGNE()-5);
TROUVE("µ";SUBSTITUE(SUBSTITUE(CAR(10)&$D$2&CAR(10);CAR(10);"µ";LIGNE()-5);
CAR(10);"¤";LIGNE()-5))+1;TROUVE("¤";SUBSTITUE(SUBSTITUE(CAR(10)&$D$2&CAR(10);
CAR(10);"µ";LIGNE()-5);CAR(10);"¤";LIGNE()-5))-TROUVE("µ";SUBSTITUE(SUBSTITUE(
CAR(10)&$D$2&CAR(10);CAR(10);"µ";LIGNE()-5);CAR(10);"¤";LIGNE()-5))-1))
à recopier vers le bas

@+
 

phsouchal

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

Tibo, Pierrejean !

MERCI !!!!!!!!!!! Que dire d'autre !

Tibo, étant un grand adepte de la formule je dois dire que je n'était pas près d'écrire celle la ! Je vais pourvoir la décortiquer ! Je pense cependant utiliser la version VBA car j'ai trois fichier de 50000 lignes à traiter... cela me paraît donc plus adapté !

Bonne soirée à tout les deux, et encore un grand merci pour votre réactivité et la pertinence de vos réponses !
 

bruno66

XLDnaute Occasionnel
Re : Compter le nombre de lignes dans une cellule....

je post le lien de notre auteur de ce post, je le trouve pertinent par rapport au menbre d'un autre forum, de part sa reponse, et de sa conclusion a leur égard, a vous de juger, j'ai mis le lien pour info sur l'autre forum, pour que ceus ci voit la solution du problème ...


COMPTER LE NOMBRE DE LIGNES DANS UNE CELLULE

a vous de juger ... bonne soirée
 

Arpette

XLDnaute Impliqué
Re : Compter le nombre de lignes dans une cellule....

Bonsoir PierreJean, je sais qu'il y a bientôt deus ans, mais le code que tu as proposé à phsouchal m'intéresse. Je voudrais savoir si celà est possible de façon événementielle, d'obtenir le même résultat Je renseigne une colonne A qui me retourne une valeur en B. Cette valeur en B peut avoir plusieurs lignes dans la même cellule. Je souhaiterais que la macro coupe en ligne de la même manière que celle que tu as proposée à phsouchal, mais juste sur B.
Merci de ton aide
@+
 
Dernière édition:

bienfp

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

Bonjour à tous,

Je viens de lire le fichier posté plus haut par PierreJean il y a déjà un petit moment ... je ne suis pas assez calé en vba pour le déchiffrer, mais je sens qu'il y a un brin de solution dedans pour résoudre mon problème.

voici mon fichier nous dirons "type" : Voir la pièce jointe test.xlsx

mon problème est que j'ai des cellules fusionnées sur plusieurs colonnes et dans ces cellules j'ai des retours à la ligne automatiques et volontaires (Alt+Entrée).
La hauteur de ligne auto ne fonctionne pas. je pensais faire une macro pour compter le nombre de lignes par cellule et en fonction du nombre de lignes changer la hauteur de cette rangée de cellules.. sachant que mes lignes 19 à 25 doivent rester telles qu'elles sont. Mais voilà ça fait un moment que je cherche et je ne trouve rien de simple ou de suffisamment proche de mon cas.

Merci à vous d'avance pour ceux qui voudrons bien me mettre sur la voix !

Pierre
 

Fichiers joints

bienfp

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

J'ai oublié, ma zone à traiter commence en cellule D13.
Merci
 

goninph

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

Hello,

J'ai exactement le même problème à résoudre que " bienfp ".

bienfp as tu trouvé la solution à t on problème ?

J'avais pour idée, à la place de changer la hauteur de ligne, d'insérer dans une cellule non fusionnée de la même ligne, un nombre de "Retour ligne (Alt+Entrée)" équivalents au nombre de lignes comptées.
Bien sur la ligne complète est sur auteur automatique

Merci pour les infos

Philippe
 

pierrejean

XLDnaute Barbatruc
Re : Compter le nombre de lignes dans une cellule....

Bonjour goninph

Peux-tu poster un exemple de ton fichier (sans données confidentielles) en rappelant ta problématique
Depuis 5 ans j'ai un peu oublié !!!
 

JCGL

XLDnaute Barbatruc
Re : Compter le nombre de lignes dans une cellule....

Bonjour à tous,

Dans l'attente de la réponse de mon ami PJ, cette procédure doit être placée dans le ThisWorkBook :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
A+ à tous
 

goninph

XLDnaute Nouveau
Re : Compter le nombre de lignes dans une cellule....

Hello,

J'ai trouvé la solution, sur la même ligne, régler la largeur d'une colonne à la valeur équivalente à la largeur de toutes les cellules fusionnées. Ensuite, dans la cellule de la ligne concernée insérer la formule = cellule fusionnée et le tour est joué. Ne pas oublié le format texte et retour à la ligne.

Juste un petit soucis de rafraîchissement à la sortie de la cellule, mais dans mon cas se règle en indiquant l'état du suivi, par exemple : En cours

Merci

Philippe
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas