XL 2019 Automatiser base de données

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 !

Bolou

XLDnaute Nouveau
Bonjour,
Dans la base de données ci joint, je cherche à automatiser la répartition des données des colonnes A & B dans les colonnes de H à .....
En effet l'utilisateur mettra les colonnes A&B à jour et la répartition se fera automatiquement.

Avez vous des idées ? Un solution VBA ?

Merci pour vos retours, bien à vous
 

Pièces jointes

Salut,
Peut être comme ceci
En H2=SIERREUR(INDEX($B$2:$B$63;PETITE.VALEUR(SI($A$2:$A$63=H$1;LIGNE($A$2:$A$63)-1);LIGNES($1:1)));0) a valider par CTRL+SHIFT+ENTER, puis tirer vers le bas et à droite.
Tout ceci si j'ai bien compris la demande.
@+ Lolote83
 
Bonjour Lolote83,
Mon problème est résolu!!! Merci beaucoup

Pour pousser un peu plus loin on pourrait imaginer que la ligne de H1 à ... se mettent automatiquement à jour. J'ai utilisé une combinaison d'excel et de vba pour le faire.

1-Ja'i créé une liste sans doublons
2- un pti code VBA pour les récupérer dans la ligne 1 à partir de H1.

Il y a t-il un moyen plus facile ?

Merci
 
Bonjour @ tous,
je crains que nécessite du VBA si la base de données sera très grande avec le temps.
Deux formules matricielles,
en F1 :
VB:
=SIERREUR(DECALER(Col_Entites;EQUIV(0;NB.SI($E1:E1;Col_Entites);0)-1;;1);"")
@ valider par Ctrl+Maj+Entrée
@ tirer vers la droite

en F2 :
Code:
=SIERREUR(INDEX(Col_Villes;PETITE.VALEUR(SI(Col_Entites=F$1;LIGNE(INDIRECT("1:"&LIGNES(Col_Entites))));LIGNES($2:2)));"")
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas et vers la droite


Cordialement
 

Pièces jointes

Bonjour R@chid, Amilo,
Une fois de plus, vous avez apporté une solution via Power Query.
Donc, toujours dans ma recherche de compréhension et de progression pour PQ, j'ai regardé vos requêtes mais malheureusement, je ne parviens pas à reproduire ces requêtes.
R@chid, comment fais tu pour passer du tableau source à celui de la requête ci-dessous.
1619280005103.png


J'ai bien essayé de mon coté en utilisant Regrouper par mais je n'arrive pas à aller plus loin, car le résultat ne correspond pas à ce que tu as fait.
1619280073307.png


Pour le reste, ça devrait aller.

Amilo, même question. Je m'étais dit qu'avec 2 exemples, j'y arriverai mais non.
Merci pour vos explications si cela ne vous dérange pas
@+ Lolote83
 
Bonsoir R@chid, Lolote83, le forum,

@R@chid, la question posée par Lolote83 concernait le passage de la Source à l'étape suivante dans l'éditeur Power query
Je mets un tuto ci-après pour les manipulations : Vidéo
ou alors vidéo sous cijoint.com à cette adresse : https://www.cjoint.com/c/KDywBLjH5qT

J'ai simulé uniquement les deux 1ères étapes de R@chid en partant d'une nouvelle Source que j'ai renommée par Source2

Pour ma version de Power query, j'avais procédé de la même manière sauf que j'ai ensuite modifié et ajouté toutes les fonctions manuellement dans la barre de formule sans passer par le ruban.

Cela me permet d'apprendre davantage sur les fonctions Power query

P.S : si vous utilisez la commande "Regrouper Par" du ruban, Power query va créer une étape "Lignes groupées" et avec à sa droite une roue dentée qui vous permet par la suite de double cliquer et de voir plus de détail.
Cependant si des modifications manuelles sont apportées dans la barre de formule, la roue dentée disparait alors.

C'est un moyen de savoir si une modification a été apportée ou non dans la formule initiale.

Cordialement
 
Dernière édition:
Re,
Salut @Amilo
merci de m'avoir expliqué la question de l'ami Lolote83.

Fais grouper, et fais la somme de la colonne des villes (Oui tu vas obtenir une erreur).
2021-04-24_21-58-08.png



Quand tu cliques sur OK tu vas obtenir cette erreur puisque l'on ne peut pas faire une somme de valeurs textes.
2021-04-24_21-59-22.png



Tu n'as qu'à modifier la fonction List.Sum([Villes]) par Text.Combine([Villes],";")
2021-04-24_22-01-38.png



et voilà que c'est fait.



Cordialement
 
Bonjour R@chid, Amilo,
Merci pour vos réponses et vos captures d'écran qui vont bien me servir.
Amilo, je regarde de ce pas ton tuto.
J'ai vraiment envie d'apprendre PQ, mais quand je vois la gymnastique que vous mettez en œuvre, je vois qu'il me reste encore pas mal de chemin à parcourir.
1000 mercis à vous deux et à bientôt pour un autre exercice que je piocherais à droite ou à gauche dans ce forum pour continuer à progresser.
@+ Lolote83
 
Re,

Dans la même idée que le code ci-dessous de l'étape "Lignes groupées dans la proposition de R@chid

Code:
= Table.Group(Source, {"Entités"}, {{"VillesEnLigne", each Text.Combine([Villes],";"), type text}})

On aurait pu également utiliser ce code :

VB:
= Table.Group(Source, {"Entités"}, {{"VillesEnLigne", each [Villes]}})

Cordialement
 
Dernière édition:
- 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
11
Affichages
224
  • Question Question
Microsoft 365 Power Query
Réponses
7
Affichages
190
Retour