Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Transformation tableau format BD en tableau éclaté

nka

XLDnaute Nouveau
Bonjour à tous,

Je voudrais savoir comment transformer un tableau de ce type :
NOMDATEINDIC_1INDIC_2INDIC_3
Martin
31/12/2020​
1​
100​
200​
Bernard
31/12/2020​
2​
101​
201​
Thomas
31/12/2020​
3​
102​
202​

en tableau de ce type :
NOMDATEINDIC_1INDIC_2INDIC_3
Martin
31/12/2020​
1​
Bernard
31/12/2020​
2​
Thomas
31/12/2020​
3​
Martin
31/12/2020​
100​
Bernard
31/12/2020​
101​
Thomas
31/12/2020​
102​
Martin
31/12/2020​
200​
Bernard
31/12/2020​
201​
Thomas
31/12/2020​
202​

Bien évidemment, il faut imaginer que j'ai beaucoup plus de noms et beaucoup plus d'indicateurs...

Merci d'avance,

nka
 
Solution

crocrocro

XLDnaute Occasionnel
Bonjour nka,
le plus simple serait de le faire en vba.​
Je te propose l'algorithme suivant très simple à convertir en code VBA :
Boucle For pour chaque ligne du Tableau
Boucle For pour chaque colonne Indice​
Si Indice courant renseigné​
Création d'une ligne dans le nouveau tableau initialisée avec Nom et Date Courante​
remplir indice courant de la ligne courante dans la colonne courante​
 
Dernière édition:

Gégé-45550

XLDnaute Accro
Bonjour,
Une proposition en PJ.
Cordialement,
 

Pièces jointes

  • Test.xlsm
    27.5 KB · Affichages: 6

nka

XLDnaute Nouveau
Merci beaucoup pour les 3 réponses.
Mais je n'y connais rien ni en macro, ni en power query.
Donc :
- crocrocro, je ne sais pas du tout quoi faire de ta réponse.
- Gégé-45550, je vois que ton doc fonctionne mais comment accéder à la macro elle-même ?
- chris, comment accéder à la proposition Power Query ?
Merci d'avance,
nka

 

chris

XLDnaute Barbatruc
Bonjour
chris, comment accéder à la proposition Power Query ?
Alt F12 ou Données, Obtenir des données, Lancer PowerQuery
Tu verras la requête avec à droite les 6 étapes.

Si on pars de 0 :
La source doit être mise sous forme de tableau structuré, si ce n'est pas déjà le cas

Depuis une cellule du tableau, Données, A partir d'un tableau ce qui ouvre l'interface PowerQuery
  • à droite supprimer l'étape automatique de typage des données
  • sélectionner les colonnes Nom et Date, clic droit Dépivoter les autres colonnes
    dans la barre de formule remplacer Attribut par Indic
  • typer les données :
    • sélectionner Nom et Indic, clic droit, Modifier le type, Texte
    • sélectionner Date, clic droit, Modifier le type, Date
    • sélectionner Date, clic droit, Modifier le type, Nombre entier
  • onglet Ajouter une colonne, Colonne personnalisée : nom C, formule Number.From(Text.AfterDelimiter([Indic],"_"))
  • sélectionner la colonne Indic, onglet Transformer, Pivoter la colonne :
    Colonne de valeurs : Valeur
    Options avancées, Fonction de la valeur agrégée : ne pas agréger
  • Trier par Nom et C
  • Supprimer la colonne C
 

nka

XLDnaute Nouveau
Rebonjour à tous,

J'espère que vous avez passé un bon week-end.
Merci Chris pour ta réponse mais je n'arrive pas à ouvrir l'interface Power Query.

Je suis donc parti sur la réponse de Gégé-45550.

C'est très bien cela fonctionne. J'essaye de modifier le script pour l'adapter à mes besoins mais je suis trop débutant. Est-ce que cela serait possible de me faire les modifs suivantes :
- Faire en sorte que la réponse (après avoir cliqué sur GO) s'affiche sur une autre feuille du fichier ?
- Faire en sorte que le texte d'origine ne s'efface pas ?
- Adapter le script avec le tableau de base suivant ?

COMMUNEADRESSENOM LATITUDELONGITUDEDATEINDIC_1INDIC_2INDIC_3INDIC_4
Martin
31/12/20​
1​
100​
200​
12
Bernard
01/01/21​
2​
101​
201​
13
Thomas
02/01/21​
3​
102​
202​
14

Merci d'avance,

nka
 

Gégé-45550

XLDnaute Accro
Bonjour,
Voir PJ
Cordialement,
 

Pièces jointes

  • Test (3).xlsm
    32.1 KB · Affichages: 3

Discussions similaires

Réponses
4
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…