Transposer des éléments

  • Initiateur de la discussion Initiateur de la discussion ariol
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ariol

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je tente de trouver le bon procéder pour solutionner mon petit problème.
Sans succès jusqu'à maintenant d'où ma demande d'aide.

Mon problème consiste à trouver le moyen de recopier sur la même ligne, les éléments appartenant à un même éléments.
Un exemple pour être précis :

Tableau actuel
CLIENT | CODE1 |CODE2 |CODE3 |
Client_A | AAA | BBB |CCC |
Client_A | DDD | EEE |FFF |
Client_B | GGG | HHH |IIII |
Client_B | JJJJJ | KKK |LLL |


Tableau Souhaité
CLIENT | CODE1 |CODE2 |CODE3 |CODE1 |CODE2 |CODE3
Client_A | AAA | BBB |CCC |DDD | EEE |FFF |
Client_B | GGG | HHH |IIII JJJJJ | KKK |LLL |


Merci pour votre aide
 
Dernière édition:
Re : Transposer des éléments

Bonsoir,

Juste pour faire avancer le schmilblick...

1. Si tu avais un petit bout de fichier ce serait top
2. Est ce que le rythme est aussi régulier que celui ci (deux lignes, trois cellules) ?

Merci à toi de nous aider à te répondre.
 
Re : Transposer des éléments

Bonsoir, merci pour cette première réponse.
Non, Les séquences ne sont pas toutes identiques.
Voici un extrait du fichier concerné.
Merci encore pour l'aide apportée.
 

Pièces jointes

Dernière édition:
Re : Transposer des éléments

Bonjour,

Dans la recopie sur une même ligne, la séquence "Equipement_No_CFS" , "Acheté" , "Garantie" se répète-t-elle systématiquement et dans ce cas il peut donc y avoir un "vide" si, comme dans ton exemple, il n'y a rien dans "Garantie" ou bien doit-on "tasser" vers la gauche et écrire à la suite sans trou? (dans ce cas, auras-tu un signe distinctif te permettant de reconnaître un code "Acheté" d'un code "Garantie" pour récupérer tes données ultérieurement?)


Cordialement
 
Re : Transposer des éléments

Bonjour ariol, salut mécano,

Un essai par formules matricielles (les formules sont issues et adaptées d'un célèbre classeur de nos amies Monique et Celeda.

Je joins le fichier

et te laisse découvrir et tester

@+
 

Pièces jointes

Re : Transposer des éléments

Salut Tibo,

Ce n'est pas du tout ce que j'ai compris....🙁

J'ai compris que, s'il y avait plusieurs lignes comportant le même N° de client, il fallait garder la première et lui ajouter, dans des cellules placées à droite (nb variable de 1 à 3) et sur la même ligne, les valeurs figurant dans les lignes suivantes (lignes que l'on fait ensuite disparaître)... c'est ce que je suis en train de faire en VBA...mais ce n'est peut-être pas cela...😀

Cordialement
 
Re : Transposer des éléments

Salut Tibo,

Ce n'est pas du tout ce que j'ai compris....🙁

J'ai compris que, s'il y avait plusieurs lignes comportant le même N° de client, il fallait garder la première et lui ajouter, dans des cellules placées à droite (nb variable de 1 à 3) et sur la même ligne, les valeurs figurant dans les lignes suivantes (lignes que l'on fait ensuite disparaître)... c'est ce que je suis en train de faire en VBA...mais ce n'est peut-être pas cela...😀

Cordialement

si mécano41, c'est tout à fait cela.

A la limite, il ne faut pas faire disparaitre le premier tableau, il suffit de générer un nouveau .

merci encore, j'essaie de trouver aussi de mon côté mais cela fait deux jours que je suis dessus sans succés.
 
Re : Transposer des éléments

rere,

Après relecture du fil, une autre approche :

Sur la base du fichier que j'ai proposé plus haut, en I2, cette formule matricielle :

Code:
=SI(NB.SI($A$2:$A$41;$G2)>ENT((COLONNE()-12)/3)+1;INDEX(DECALER($B$1;0;
EQUIV(I$1;$C$1:$E$1;0);50);PETITE.VALEUR(SI(($A$2:$A$41=$G2)*LIGNE($A$2:$A$41)>0;
($A$2:$A$41=$G2)*LIGNE($A$2:$A$41));ENT((COLONNE()-12)/3)+2));"")

A valider par CTRL + MAJ + ENTREE

et à recopier vers le bas et vers la droite

Voir le fichier joint.

@+
 

Pièces jointes

Re : Transposer des éléments

Super mécano41,
c'est tout à fait ça.

Moi de mon côté j'ai trouvé ce topic :
https://www.excel-downloads.com/thr...yant-toutes-les-valeurs-dune-variable.106702/

Ou porcinet82 propose pour un problème similaire ce code :
Sub test()
Dim k%, der_lig%
Dim tempo$
For k = 1 To Range("A65536").End(xlUp).Row
der_lig = Range("E65536").End(xlUp).Row + 1
If Cells(k, 1).Value = Cells(k + 1, 1).Value Then
If tempo = "" Then
tempo = Cells(k, 2).Value
Else
tempo = tempo & ", " & Cells(k, 2).Value
End If
Else
If tempo = "" Then
tempo = Cells(k, 2).Value
Else
tempo = tempo & ", " & Cells(k, 2).Value
End If
Cells(der_lig, 5).Value = Cells(k, 1).Value
Cells(der_lig, 6).Value = tempo
tempo = ""
End If
Next k
End Sub

Mais je perd un temps fou à l'adapter pour mon problème car j'ai plusieurs lignes avec plusieurs colonnes 🙁
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
566
Retour