Regrouper des cellules avec des saut de lignes

nouveau problème !!! lol

voilà je souhaite regrouper des cellules avec pour chaque cellules un saut de ligne . jusque là je m'en sortais avec la fonction suivante:

=SI(L7="";"";Feuil3!E51)&SI(L8="";"";CAR(10)&Feuil3!E52)&CAR(10)&Feuil3!E53&CAR(10)&Feuil3!E54&CAR(10)&Feuil3!E55&CAR(10)&Feuil3!E56&CAR(10)&Feuil3!E57&CAR(10)&Feuil3!E58&CAR(10)&Feuil3!E59&CAR(10)&Feuil3!E60&CAR(10)&Feuil3!E61&CAR(10)&Feuil3!E62&CAR(10)&Feuil3!E63&CAR(10)&Feuil3!E64 &CAR(10)&Feuil3!E65

et notamment l'utilsation de &car(10)& mais (car il ya toujours un mais!!) comme ma fonction fit appel à des cellules qui se remplissent grace à un bouton j'aimerais que si par exemple ma cellule Feuil3!E52 est vide le saut de ligne ne se fasse et donc de ne pas avoir de ligne vide . j'espere avoir été relativement clair.

si quelqu'un pouvais m'aider je lui en serai très reconnaissant .

merci d'avance

Bonjour

Merci de joindre ton fichier pour une meilleure visualisation.

Amicalement

Nad

le fichier est volumineux donc je vous l'envoie sur fichier free le probleme se trouve sur la feuille 3 avec les cases à cocher lorsqu'on coche les cases elle s'affiche sur la case F43 de la feuille2 .

Le probleme c'est que je veux regrouper ces lignes en une seule cellule avec saut de ligne et en elminant les lignes comme ça je peux la copier avec une macro dans le document feuille 4.

merci pour ton aide.

bon apparemment ça a l'air compliqué

est ce que peut etre quelqu'un peut me dire si c'est realisable ? si non j'essaierais autrement

merci en tout cas pour votre aide

Bonjour

Je ne sais pas pour les autres, mais en ce qui me concerne quand j'ai vu que ton fichier faisait 24.1 Mo j'ai pris peur et ne l'ai donc pas téléchargé. Qu'est-ce que tu y a mis dedans ?

Ne peux-tu simplifier ton fichier en ne laissant dessus que la partie qui te pose un problème ?

A te relire

Amicalement

Nad

excusez moi mais c'etait le week end!!lol

https://www.excel-pratique.com/~files/doc/UJUgeClasseur2.xls

voilà une partie du fichier pour comprendre un peu mieux la manip;

le but est d'eviter les sauts de lignes quand c'est vide

merci d'avance

Bonjour

Une proposition :

Fichier

Amicalement

Nad

merci nad dan

ça a l'air tres bien mais apres comment je fais pour tout regrouper dans une seule cellule??

merci d'avance

excuses moi je n'avais pas vu en bas

ça a l'air tres bien mais le probleme c'est comment appeler justes les cellules remplies sur une autre feuille

en fait il faudrait que tout soit regroupé dans une seul cellule

est ce que c'est possible merci d'avance

Re

Tu peux faire comme dans ton fichier :

=Feuil1!N20&CAR(10)&Feuil1!N21&CAR(10)&Feuil1!N22&CAR(10)&Feuil1!N23&CAR(10)&Feuil1!N24&CAR(10)&Feuil1!N25&CAR(10)&Feuil1!N26&CAR(10)&Feuil1!N27&CAR(10)&Feuil1!N28&CAR(10)&Feuil1!N29&CAR(10)&Feuil1!N30&CAR(10)&Feuil1!N31&CAR(10)&Feuil1!N32&CAR(10)&Feuil1!N33&CAR(10)&Feuil1!N34&CAR(10)&Feuil1!N35

Il y a sans doute plus simple, mais comme je suis partie d'une certaine solution, je n'arrive pas à penser différemment.

Si d'autres veulent bien regarder ?

Amicalement

Nad

Bonsoir à tous,

un essai en N25

Seules les lignes cochées sont considérées.

Sub Concat()
'macro par Claude pour charlyfanny le 23/02/09
Dim Cel As Range
    Application.ScreenUpdating = False
        For Each Cel In Range("f1:f15")
            With Range("n25")
                If Cel.Offset(, 7) = True Then
                    .Value = .Value & Chr(10) & Cel.Value
                End If
            End With
        Next Cel
End Sub

Il faudrait ajouter un remplace ou subsitue pour l'apostrophe du début, mais je n'ai plus

en tête le code de l'apostrophe.

Bonne soirée

Claude.

Bonjour à tous,

J'ai contourné le problème de l'apostrophe avec ce nouveau code

Sub Concat2()
'macro par Claude pour Lgarlyfanny le 24/02/09
Dim Cel As Range
Dim Lg As String
        Application.ScreenUpdating = False
       If Range("f1").Offset(, 7) = True Then Lg = 1 '1ère ligne
       If Range("f1").Offset(, 7) = False Then Lg = 2 '1ère ligne

    With Range("n25")
       .ClearContents
       .Value = Range("f" & Lg)
            For Each Cel In Range(Range("f" & Lg + 1), Range("f15"))
                    If Cel.Offset(, 7) = True Then
                        .Value = .Value & Chr(10) & Cel.Value
                    End If
            Next Cel
    End With
End Sub

Bonne journée

Claude.

ça marche super bien merci claude.

merci vraiment

Bonjour à tous,

La macro précédente à remplacer par celle-ci

Sub Concat4() 'OK
'macro par Claude pour Lgarlyfanny le 25/02/09
Dim Cel As Range, Co As Range
Dim Lg As String
    Application.ScreenUpdating = False
         For Each Co In Range("m1:m15")  '***cherche 1ère ligne cochée
            If Co = True Then
                Lg = Co.Row
                Exit For
            End If
         Next Co

    With Range("n25")
       .ClearContents
         If Lg = "" Then Exit Sub '*** quitte si aucune case cochée
       .Value = Range("f" & Lg)
            For Each Cel In Range(Range("f" & Lg + 1), Range("f15"))
                If Cel.Offset(, 7) = True Then
                    .Value = .Value & Chr(10) & Cel.Value
                End If
            Next Cel
    End With
End Sub

Fichier:

https://www.excel-pratique.com/~files/doc/VU71xConcat2.xls

Amicalement

Claude.

Rechercher des sujets similaires à "regrouper saut lignes"