Fonction concatener sur ligne entière

Bonjour,

Je suis depuis plusieurs heures à la recherche d'une formule magique:

J'ai une ligne (de col A à col FM) soit beaucoup de case...

J'aimerais regrouper les données de chacune de ces case (ce sont des codes postale) dans une seule cellule ET en les séparant d'une virgule. Vu le nombre de colonne, les fonction type &CAR(10)& ou &", "& ne peuvent pas etre utilisées. J'ai déjà testé! au bout d'un moment Excel me dit "formule trop grande"...

J'ai déjà trouvé une macro pour fusionner les cellules selectionnées dans une cellule mais les données ne sont pas séparées, donc ceci n'est pas du tout pratique.

Merci beaucoup de votre aide!

Bonjour et bienvenue,

Une macro pourrait faire çà,

envoie la feuille (quelques lignes), pour la régler

Amicalement

Claude

Voici un petit exemple de mon fichier excel

Merci beaucoup

129probleme-excel.zip (4.82 Ko)

re,

il y a combien de lignes à traiter sur le fichier réel ?

peux-tu envoyer quelque chose de + complet ?

Claude

Voici mon fichier avec les lignes complètes à rassembler

Au total, 3 lignes avec les colonnes allant de A à FN.

Merci

107probleme-excel.zip (6.96 Ko)

re,

résultat en ligne 20

Sub Concat() 'avec département
Dim CL%, i%
    CL = Cells(1, 250).End(xlToLeft).Column
    For i = 2 To CL
        If Cells(3, i) <> "" Then
            Cells(20, 2) = Cells(20, 2) & Cells(3, i) & " " & _
            Trim(Cells(2, i)) & ": " & Cells(1, i) & ", "
        Else
            Cells(20, 2) = Cells(20, 2) & Cells(1, i) & ", "
        End If
    Next i
End Sub
Sub ConcatCP() 'code postal seul
Dim CL%, i%
    CL = Cells(1, 250).End(xlToLeft).Column
    For i = 2 To CL
        Cells(20, 2) = Cells(20, 2) & Cells(1, i) & ", "
    Next i
End Sub

Amicalement

Claude

Ouaaa! Alors la chapeau!

Vraiment impressionnat!

Merci beaucoup! Juste pour info, si je veux appliquer ça à d'autres données, faut il que me données soient toujours sur les lignes 1 à 3?

-- 06 Juil 2010, 15:34 --

Si je peux me permettre de demander une autre formule...

Serait il possible d'appliquer la meme macro, mais lorsqu'un code postal n'est pas présent(cellule vide) il ne faudrait rien afficher (ni nom du département, ni code département)

J'ai joint le fichier excel avec un exemple (seul quelques code postal sont présents)

75probleme-excel.zip (5.53 Ko)

re,

faut il que me données soient toujours sur les lignes 1 à 3 ?

non, il suffit de déclarer et régler les variables

Sub ConcatSiCP()
Dim CL%, i%
Dim R%, x%, y%, z%
'---- à régler ----
x = 1   'ligne code postal
y = 2   'ligne département
z = 3   'ligne N° département
R = 22  'ligne résultat
'------------------
    CL = Cells(x, 256).End(xlToLeft).Column
    For i = 2 To CL
        If Cells(x, i) <> "" Then
            If Cells(3, i) <> "" Then
                Cells(R, 2) = Cells(R, 2) & Cells(z, i) & " " & _
                Trim(Cells(y, i)) & ": " & Cells(x, i) & ", "
            Else
                Cells(R, 2) = Cells(R, 2) & Cells(x, i) & ", "
            End If
        End If
    Next i
End Sub

Amicalement

Claude

a resolu2

Merci encore pour ces précisions.

Je dois maintenant rajouter une ligne dans ma grille excel.

Pouvez vous me dire comment je dois modifier cette macro afin qu'elle prenne en compte 4 variables:

Sub ConcatSiCP()

Dim CL%, i%

CL = Cells(x, 256).End(xlToLeft).Column

For i = 2 To CL

If Cells(x, i) <> "" Then

If Cells(3, i) <> "" Then

Cells(R, 2) = Cells(R, 2) & Cells(z, i) & " " & _

Trim(Cells(y, i)) & ": " & Cells(x, i) & ", "

Else

Cells(R, 2) = Cells(R, 2) & Cells(x, i) & ", "

End If

End If

Next i

End Sub

Ceci concerne le fichier excel posté plus haut. Je voudrais donc rajouter une 4eme ligne et lié celle ci avec cette macro.

Merci beaucoup!!!!

Bonjour,

Je ne réponds pas aux MP non sollicités,

il est d'usage ici de rester sur le fil du forum !

Qu'y a-t-il dans cette ligne supplémentaire ?

envoie un exemple

Amicalement

Claude

Bonjour,

entendu désolé.

Voici un exemple en piece jointe.

Merci

48probleme-excel.zip (5.81 Ko)

Bonsoir,

La 1ère ligne (code postal) doit être en texte, c'est à dire

que si commence par zéro, on doit voir 02520 et non 2520

et pas de cellules fusionnées

édit: pourquoi toutes ces colonnes vides ? envoie une feuille réelle

d'où viennent ces données ?

à te relire

Claude

Bonjour,

Je me suis trompé, la 1ere ligne correspond à des numeros d'image.

Il y a autant de colonne vide car parfois il y a plus de numero d'image, parfois moin, cela dépend d'autres données.

Le reste des données sont confidentielles désolé.

Merci,

Bonjour à tous,

Bon comme c'est pas clair,

colore les colonnes à prendre en compte

Claude

Bonjour,

Il faut prendre en compte toutes les colonnes.

Car parfois elles seront toutes rempli, parfois non comme dans l'exemple joint.

Merci,

re,

Reviens quand tu sauras ce que tu veux !

Certaines colonnes ne sont remplies que partiellement, d'autres vides.

Maintenant si çà t'ennuie, laisse tomber !!

Claude

Désolé mais je ne comprends pas...

Je t'ai dis que je voulais prendre en compte toutes les colonnes. Certe il y en à quelques une qui sont vide dans cette exmple.

Mais je vais utiliser cette formule sur plusieurs exemple. Ainsi, selon les exemples, il se peut que toutes les cellules soient remplies.

D'ou l'interet de prendre en compte toutes les cellules dans la formule.

Merci,

Bonjour,

La macro sera faire le distingo entre "à prendre" ou "ne pas prendre",

suffit de savoir les critères, d'ou ma demande précédente.

J'attends le fichier exemple avec colonnes colorées (celles à concaténer)

à te relire

Claude

Voici le fichier avec des couleurs pour les colonnes à concatenner.

L'idée serait donc de rassembler les données de la colonne B2 à FG, sur 4lignes.

Merci,

46probleme-excel.zip (5.85 Ko)

re,

Je me demande si je parles français !

tu t'es pas foulé, tout est colorié

Dans cet exemple, des colonnes n'ont pas de "num image", faut-il les prendre ?

Colonnes D, H par exemple ?

Rechercher des sujets similaires à "fonction concatener ligne entiere"