Concatenation multi condition

laurent950

XLDnaute Accro
[RESOLU] Concatenation multi condition

Bonjour,

J'aimerais savoir comment reconstituer sur une même ligne toute une aboréscence.

j'ai fais un exemple sur un fichier excel joint mais je ne sais pas comment reconstituer la macro

Feuil 1 Travail

N° Colone
N° Ligne
A B C D E F G H
1
2
3
4
5 1 Infra
6 1.1 Trottoires
7 1.1.1 Gouderon
8 1.1.1.1 Bordure
9 1.1.1.1.1 0,15 largeur
10 1.1.1.1.1.1 0,07ht
11 1.1.1.1.1.1.1 PVC bleu
12 1.1.1.1.1.1.2 PVC vert
13 1.1.1.1.1.1.3 PVC rouge
14 1.1.1.1.1.1.4 PVC noir
15 1.1.1.1.1.2 0,10ht
16 1.1.1.1.1.2.1 ALU
17 1.1.1.1.2 0,20 largeur
18 1.1.1.1.2.1 0,07ht
19 1.1.1.1.2.1.1 PVC



Le resultat attendu serait l'objt de la concatenation de cette arborecense sur une même ligne pour chacun des numérotation suivante:

N° Colone
N° Ligne
A
1
2
3
4
5
6
7
8
9
10

11 Prix N°1.1.1.1.1.1.1 - Infra - Trottoires - Gouderon - Bordure - 0,15 largeur - 0,07ht - PVC bleu

12 Prix N°1.1.1.1.1.1.2 - Infra - Trottoires - Gouderon - Bordure - 0,15 largeur - 0,07ht - PVC vert

13 Prix N°1.1.1.1.1.1.3 - Infra - Trottoires - Gouderon - Bordure - 0,15 largeur - 0,07ht - PVC rouge
14 Prix N°1.1.1.1.1.1.4 - Infra - Trottoires - Gouderon - Bordure - 0,15 largeur - 0,07ht - PVC noir
15

16 Prix N°1.1.1.1.1.2.1 - Infra - Trottoires - Gouderon - Bordure - 0,15 largeur - 0,10ht - ALU

17
18

19 Prix N°1.1.1.1.2.1.1 - Infra - Trottoires - Gouderon - Bordure - 0,20 largeur - 0,07ht - PVC


Donc sur la feuil N° 1 le travail des donner traiter sous forme d'arborescence

et sur la feuille N° 2 la concatenation pour la restitution de l'information de cette aborescence de la premier information a la derniere information comme sur l'exemple donner

je vous remerci par avance
Ps je joiny le fichier excel sans macro, juste avec la structure si une personne peux me donner une idéeou une méthode pour arriver a cela

merci d'avance a tous
 

Pièces jointes

  • ConcatenationMultipleStructure.xls
    18.5 KB · Affichages: 81
Dernière édition:

Softmama

XLDnaute Accro
Re : Concatenation multi condition

Bonjour,

une proposition ici :
VB:
Sub copieVersFeuil2()
Dim der As Range, c As Range, d As Range
Set d = Sheets("Feuil2").Range("A1")
Set der = Sheets("Feuil1").UsedRange.Cells(Sheets("Feuil1").UsedRange.Count).EntireColumn
For Each c In der.SpecialCells(xlCellTypeConstants, 23)
    d(c.Row) = FormuleMagic(c, der.Column)
Next
End Sub

Function FormuleMagic(cc As Range, nbArbre As Integer) As String
Dim Tableau(), t&, A$
ReDim Tableau(nbArbre)
A = "Prix N°" & Sheets("Feuil1").Cells(cc.Row, 1) & " - "
t = 1: Tableau(t) = cc
Do While cc.Column > 1
        If cc(0, 1) <> "" Then Set cc = cc.End(xlUp)(0, 0) Else Set cc = cc(0, 0)
        If cc = "" Then Set cc = cc.End(xlUp)
        t = t + 1
        Tableau(t) = cc
Loop
For t = nbArbre - 1 To 1 Step -1
    A = A & Tableau(t) & " - "
Next
FormuleMagic = Left$(A, Len(A) - 3)
End Function

cf. fichier joint
 
Dernière édition:

laurent950

XLDnaute Accro
Re : Concatenation multi condition

Bonsoir c'est toute a fait cela aussi j'ai fait la premiere partie de la macro qui est lourde.

je vous remerci, j'ai mis en ligne la macro qui ma permi de faire la Numérotation automatique.

je ne sait pas travailler en tableau c'est a dire les variable tableaux, je vous joint mon fichier avec le bout de code


l'idée c'est qu'il y a un bouton - et un bouton + (c'est avec ces deux bouton que j'ai fait l'arboresence) et ensuite l'autre bouton qui mepermet de faire la zone de selection (en rmplissage jaune sur le fichier) et qui fera la numérotation. (cette macro fonctionne)

c'est deux boutonque j'ai crée un décalage vers la droite ou vers la gauche pour faire le réglage de l'arborescence. (bouton "-" et "+"

ensuite avec plein de condition j'arrive a crée une arborescence mais je ne sais pas vraiment se que vault mon bout de code.

vous avez trouver la deuxieme partie qi me manquer (merci)

dont L'idée est excatement se que vous m'avez envoyer la suite se trouvant sur la feuille 2 le resultat obtenu c'est parfait.


Pour la premiere partie que j'ai mise en ligne.
il y a des commentaire dans mes module de macro, si vous pouvais m'aider a l'alleger ou me dire ce qu'il y a en trop ?

je vous remerci vous êtes des pros et j'apprend beaucoup sur les forum vba c'est extra.

J'ai essayer un peux les variable tableaux mais j'ai pas encore un esprit logique j mis pert entre le logiciel excel et l'espace mémoire.

je vous remerci si vous avez une autre solution ou une amélioration sur l'idé que j'ai eu lors de la création de cette premiere partie de macro

Ps j'ai compresser le fichier en zip ca 162 Ko decompresser

cordialement
 

Pièces jointes

  • ArborsencesPlusMoins.zip
    44.4 KB · Affichages: 43
Dernière édition:

laurent950

XLDnaute Accro
Resolu : Concatenation multi condition

Bonjour

je ne sais pas si tu voulais la macro dans ton fichier ?

Si ce n'est pas ça alors désolé


Tous d'abord merci à Softmama et aussi un grand merci vous Banzai64.

Je vous remercie Banzai64 car c'est exactement se que je rechercher à faire.
Effectivement vous avez recrée un autre module bien plus claire et vous savez travailler en Variable tableau, c'est exactement comme cela que j'aimerais apprendre à travailler car je trouve que cela est plus propre est plus précis, en cas de modification et de gestion.

Par contre j’aimerais savoir se que vous penser de mon niveau de part la macro que j'ai construite par mes propres connaissances que j’ai en programmation.

J'aimerais savoir si avec mes connaissances actuelles cela me permettrais de pouvoir construire en variables tableaux pour changer ma méthode de travail.

J'ai trouver sur ce site très bien fait Developpez.com , le club des dcideurs et professionnels en Informatique des explication sur les variables tableaux mais il y a des choses que je n’arrive pas à faire, il me manque des bases c’est sur mais j’ai bien compris le principe du travail avec la mémoire machine.

Peut être avez-vous la connaissance d’un livre sur les variables tableaux bien fait et aussi par la même occasion un centre de formation sur la gestion des variables « Tableaux » ou de « classes objets » ?

Je vais décortiquer votre programmation, pour comprendre le fonctionnement et la différence avec mon module qui est vraiment plus long.

Je vous répond des que j’ai compris, et je vous remercie encore pour le temps que vous avez passé pour m’aider dans ma recherche.

Au plaisir de vous lire et vous répondre.

Cordialement Laurent950
 
Dernière édition:

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 529
dernier inscrit
moket07