Concatener des cellules selon conditions (hors VBA !!!)

Pyramide91

XLDnaute Nouveau
Bonjour à tous !

J'espère que vous passez tous de joyeuses fetes :rolleyes:

Moi, je suis confronté à un problème ! J'ai un tableau croisé dynamique qui me sort une liste de produits en fonction des commandes.
Ces infos sont ensuite reprises dans un autre tableau dans lequel chaque ligne correspond à une commande (qui est composée de plusieurs produits).

Je souhaiterais trouver un moyen de concatener dans une seule et même cellules tous les produits d'une commande.

En pièce jointe mon fichier excel allégé.

Je souhaite à tout prix éviter VBA et des manip' à la main

Merci d'avance, j'espère avoir été assez claire :confused:
 

Pièces jointes

  • Classeur1.xls
    35.5 KB · Affichages: 51
  • Classeur1.xls
    35.5 KB · Affichages: 49
  • Classeur1.xls
    35.5 KB · Affichages: 56

Regueiro

XLDnaute Impliqué
Re : Concatener des cellules selon conditions (hors VBA !!!)

BONJOUR le forum, Pyramide91
Je ne crois pas que cela possible sans VBA.

Par contre voici un essai avec une variante ?

A+
 

Pièces jointes

  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    32.9 KB · Affichages: 28
  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    32.9 KB · Affichages: 24
  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    32.9 KB · Affichages: 25

Regueiro

XLDnaute Impliqué
Re : Concatener des cellules selon conditions (hors VBA !!!)

RE
Une nouvelle version avec un TCD est 2 segments.
A+
 

Pièces jointes

  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    43.8 KB · Affichages: 22
  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    43.8 KB · Affichages: 22
  • XLD_-concatener-des-cellules-selon-conditions-hors-vba-classeur1.xlsx
    43.8 KB · Affichages: 21

Pyramide91

XLDnaute Nouveau
Re : Concatener des cellules selon conditions (hors VBA !!!)

Bonjour Regueiro,

merci de votre réponse!

Mais la solution que je souhaite trouver doit impérativement concatener tous les produits dans une seule cellule par commande.
Une tache est ensuite effectuée en copiant/collant chaque cellule (qui contient les différentes ref. article).Et je ne peux pas changer ce fonctionnement...

De plus, je suis sur Excel 2003 !
 

Pyramide91

XLDnaute Nouveau
Re : Concatener des cellules selon conditions (hors VBA !!!)

Re,

j'ai essayé mais je suis vraiment une cruche avec VBA.

J'ai plutot suivi ta solution ou j'affiche dans une autre feuille par colonne pour chaque colonne la liste des articles les uns après les autres.
ex :
Colonne A--- Colonne B ...

Commande1 Commande2 ...
Article_a Article_x ...
article_b article_y ...
article_c ...

Et j'ai copié ton code concatplage() qui marche à merveille merci merci !!!!
 
Dernière édition:

klin89

XLDnaute Accro
Re : Concatener des cellules selon conditions (hors VBA !!!)

Bonsoir Regueiro, Pyramide91 , le forum.

A vouloir concatener dans une seule cellule, tu vas vite atteindre certaines limites :
Affichage du contenu de ta cellule,
Largeur des colonnes,
ou hauteur des lignes comme dans mon exemple.

Sinon vois ceci :
[highlight= vba]Option Explicit
Sub Essai()
Dim a, i As Long, j As Long, n As Long
Application.ScreenUpdating = False
With Sheets("Feuil1")
a = .Range("A1").CurrentRegion
End With
a(1, 1) = "Commandes": a(1, 2) = "Produits"
n = 1
For i = 2 To UBound(a, 1)
If a(i, 1) <> "" And Left(a(i, 1), 5) <> "Total" Then
n = n + 1
For j = 1 To UBound(a, 2)
a(n, j) = a(i, j)
Next
Else
If a(i, 2) <> "" Then
a(n, 2) = Join$(Array(a(n, 2), a(i, 2)), vbLf)
'a(n, 2) = Join$(Array(a(n, 2), a(i, 2)), "-")
End If
End If
Next
With Sheets("Feuil2").Range("a1").Resize(n, UBound(a, 2))
.CurrentRegion.Clear
.Value = a
.Font.Name = "calibri"
.Font.Size = 11
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.Borders.Weight = 2
With .Rows(1)
.Interior.ColorIndex = 43
.Font.Size = 12
End With
.Offset(1).Resize(.Rows.Count - 1).VerticalAlignment = xlTop
.Columns.AutoFit
.Parent.Select
End With
Application.ScreenUpdating = True
End Sub
[/code]
 

Pièces jointes

  • Pyramide91.xls
    43 KB · Affichages: 35

Pyramide91

XLDnaute Nouveau
Re : Concatener des cellules selon conditions (hors VBA !!!)

Bonjour à tous,

Klin89 : merci de cette précision sur les limites de la fonction de concatenage, mais je pense que ça devrait le faire comme ça car le nombre de caractères dans une cellule devrait etre suffisant pour chaque concatenage

Merci en tout cas
 

Discussions similaires

Réponses
9
Affichages
217
Réponses
5
Affichages
341

Statistiques des forums

Discussions
312 492
Messages
2 088 936
Membres
103 987
dernier inscrit
Doctami