XL 2021 Résolu - Extractions de valeurs Ligne pour créer des lignes isolées / Macro Séparer Valeurs

JM04082023!

XLDnaute Nouveau
Bonjour à tous

je recherche une solution sur excel pour le problème suivant:

Je souhaite extraire les données de Lignes, en récapitulant à chaque fois les "entêtes", puis en prenant une seule valeur par ligne. Certaines colonnes se trouve vide, il faut uniquement les "enjamber". Ci-dessous, un exemple de fichier natif, suivi du résultat souhaité.


Facture Appareil Coutant Accessoire Transport TVA
1 Piano 2000 1000 400
2 Meuble 1000 300 200 260
3 Repas 100 10

Résultat escompté:

Facture Appareil Type Prix
1 Piano Coutant 2000
1 Piano Transport 1000
1 Piano TVA 400
2 Meuble Coutant 1000
2 Meuble Accessoire 300
2 Meuble Transport 200
2 Meuble TVA 260
3 Repas Coutant 100
3 Repas TVA 10

Avez vous une solution pour cela?

merci à vous et bonne journée
JM
 

JM04082023!

XLDnaute Nouveau
Bonjour! merci beaucoup pour la réponse rapide, c'est top et exactement ce dont j'ai besoin. si je souhaite rajouter une colonne "figée" complémentaire (par exemple "Date de Facture" insérer la colonne B), comment dois je procéder?

merci pour le retour et bonne journée également!
JM
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous :),

Une version VBA. Cliquer sur le bouton Hop!

Le code dans module1 :
VB:
Sub test()
Dim lsto, t, i&, s, n&, k&, j&, id
   If ActiveSheet.ListObjects("Tableau2").ListRows.Count > 0 Then Range("Tableau2").Delete
   If ActiveSheet.ListObjects("Tableau1").ListRows.Count = 0 Then Exit Sub
   t = ActiveSheet.ListObjects("Tableau1").DataBodyRange.Resize(, 2)
   For i = 1 To UBound(t): n = n + Len(t(i, 1)) - Len(Replace(t(i, 1), " ", "")): Next
   ReDim R(1 To n, 1 To 1)
   For i = 1 To UBound(t)
      s = Split(t(i, 1)): id = Join(Array(s(0), s(1)))
      For j = 2 To UBound(s): k = k + 1: R(k, 1) = id & " " & s(j): Next
   Next i
   Range("Tableau2").Resize(k, 1) = R
End Sub
 

Pièces jointes

  • JM04082023!-Eclater ligne- v1.xlsm
    20.6 KB · Affichages: 0
Dernière édition:

JM04082023!

XLDnaute Nouveau
Re-bonjour :)
merci pour les réponses, je suis nouveau ici et je cherche encore mes marques - merci pour la patience ;)

@Cousinhub: j'ai insérer un fichier avec des commentaires pour en savoir plus, je pense que cela devrait être complet ainsi. Si j'arrive à faire cela avec ce fichier, il y a juste une étape ensuite qui me semble un peu plus compliqué, mais peut etre que j'analyse mal la situation... merci pour l'aide précieuse en tout cas.

@mapomme: merci aussi pour le retour :) du fait que je n'avais pas mis de fichier au départ, je n'ai pas précisé que les informations se trouvent dans les colonnes séparées et non pas sur la même cellule, avec le fichier en PJ, ce sera plus compréhensible.

merci et bonne journée!

JM
 

Pièces jointes

  • Excel Test - Tableau Clearing.xlsx
    9.8 KB · Affichages: 2

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
(Si j'ai bien tout saisi....)
Dans le fichier joint, je n'ai donc pas pris en compte la 1ère colonne (mais rajoutée dans la requête)
Je vois également que tu vas chercher les infos dans un autre classeur, on pourrait l'inclure dans la requête.
Pour te familiariser un peu avec PQ, regarde sous ce lien
Si ça convient
Bon appétit
 

Pièces jointes

  • PQ_Depivot_V2.xlsx
    21.6 KB · Affichages: 2

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour @Cousinhub ;),

Depuis le temps que je dis que je vais m'y mettre, il va bien falloir que j'apprenne PQ ... :rolleyes:
Mais n'hésite surtout pas
Tu as vu les pointures (notamment sur xlp - pas moi...), tu as tout pour apprendre, et surtout, comprendre...
Et c'est tellement simple, notamment pour les "dépivotages" et "grouper par"
Bon courage
 

JM04082023!

XLDnaute Nouveau
Merci à tous les deux - c'est top! en tout cas, cela me permet d'avancer, je ne connaissais pas du tout cette fonction PQ, mais je sens que je vais m'y interesser de près vu les possibilités apportées...

J'ai une dernière question vis-à-vis de cela, je met en PJ la donnée finale devant subir le même traitement (une ligne récapitulant toujours le numéro de facture, la date de facture, la référence, date de prestation et ensuite une seule prestation / coût sur la ligne). ici la difficulté réside en 2 points:
- en Colonne E - l'intitulé se trouve sur la case E1 et doit être renommé "Principale", avec les montants au sein de la colonne E.
- dans les colonnes suivantes, l'intitulé se trouve au sein du tableau dans les colonnes F - H - J - L et éventuellement N et P, avec les montants dans les colonnes G - I - K - M - O - Q. Pour ici les codes doivent être renommé dans le tableau final selon les intitulés de codes (de Q25 à R33 ici)

le résultat (du moins pour les 2 premières lignes du tableau se trouve dans le "Résultat Version Luxe", de I24 à O34 (et en version standard, sans les intitulés des codes déjà modifiés, de A25 à G34

Comme pour avant I25 à I34 est fixe avec ces intitulés (Doc et RG)

Auriez vous une idée comment arriver à ce résultat? cela serait un soulagement si vous arriviez à m'aider pour cela car il s'agit du dernier blocage qui me permette d'avancer...

merci à vous et bon après midi! et surtout encore merci pour votre aide dans les post du haut ;-)
JMU
 

Pièces jointes

  • Fichier Test Final.xlsx
    20.2 KB · Affichages: 3

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
Fichier Final? ;)
J'ai rajouté ton tableau de correspondance "Codes/Postes" dans un onglet spécifique "Paramètres" (j'ai failli me faire avoir, le code 161 n'était pas référencé, merci monfruitpréféré pour ton fichier....):p
Et le résultat dans l'onglet "Résultat"
Bonne apm
 

Pièces jointes

  • PQ_Fichier Test Final.xlsx
    30.8 KB · Affichages: 5

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD