Macro: Creation BD au fil des mois....

  • Initiateur de la discussion Initiateur de la discussion sim
  • 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 !

sim

XLDnaute Occasionnel
Bonjour a tous et a toutes!!

Voila, encore besoins de vos talents!!! 🙂

Je vous explique l'idee:

J'ai un feuille appelee "Markets_GI"
Cette feuille est remplie a la main en fonction des changement des informations qu'elle contient.
J'aimerai cree dans un nouveau classeur une feuille dans laquelle chaque mois on viendrai prendre une "photo" de la situation.
En colonne A on viendrai mettre la date a laquelle la photo a ete prise.
Et on viendrai coller chaque mois les un en dessous des autres.

Dans le fichier exemple 3 onglet, chaque onglet represente la photo du mois, dans un 4eme onglet le resultat esperer.

Cette exercice sera activer depuis un bouton dans le nouveau classeur, ce bouton sera utiliser une fois par mois.

Dans le processus de creation de base de donnees, il nous faut selectionner les colonnes adequate. J'ai repris la structure de mon fichier de base en laissant vides les colonnes non voulues dans la base de donnees.

Histoire d'etre clair, les onglet MAI AVRIL MARS dans l'exemple sont en realite 3 etats different de "Market_GI".

Avec le petit exemple qui va bien!! 🙂

Merci d'avance a ceux qui pourront m'aider a realiser cette macro!!

Bonne fin de matinee a toutes et a tous

Sim
 

Pièces jointes

Re : Macro: Creation BD au fil des mois....

Re,

mes recherches me conduisent vers l'utilisation d'une SQL pour creer le tableau en selectionnant les bonnes colonnes.

Je continue de chercher...

Merci a ceux qui se penche sur mon cas!! 🙂

Sim
 
Re : Macro: Creation BD au fil des mois....

Re, tout le monde!! 🙂

Qu'est ce que vous en pensez alors vous pensez que c'est faisable?? J'aimerai bcp, si vous le pouviez, qu'on m'aide a demarrer, car j'essaye depuis tout a l'heure de combiner des bout de cod eici et la mais pas de resultat probant pour le moment!! arfff!

Merci d'avance !! 🙂

Sim
 
Re : Macro: Creation BD au fil des mois....

Pureee c'est pourtant pas si complique ca mais je n'y arrive pas:

J'etais partis du principe suivant:

On ouvre le fichier sources (en verifiant qu''il n'est pas ouvert)
Si date Janvier
On cree un autre classeur que l'on nomme "historique_annee.xls" ici annee = 2011
On copy la feuille, on la nomme "BD"
On supprime les colonne inutiles
On ajoute une colonne A dont chaque ligne a la date du moment ou la macro est utilise

Si pas Janvier

On cherche la derniere cellule active de la colonne A (du fichier destination)
En decalant d'une colonne
On copie le tableau (de "Markets_GI")sans les titre de colone juste en dessous de cette derniere cellule active ("BD")
On met en colonne A la date du mois
On supprime les colonne inutiles

Bon je viens de me rendre compte que cette derniere ligne (supression des colonnes) n'est pas possible car nous perdrions les donnees des mois precedent, peut etre qu'il faudrait d'abord copier le tableau sur une feuille intermediaire, on supprime les colonees et apres on le colle en dessous la derniere cellule active, ensuite on supprime cette feuille intermediaire...non???

Mais j'y arrive passsssss! Est ce que quelqu'un peu m'aider a faire tout cela

Merci d'avance...
 
Dernière édition:
Re : Macro: Creation BD au fil des mois....

Bonjour a tous!!

Bon j'ai passer la soiree d'hier pour reussir a faire ce que vous trouverez dans le fichier exemple!!

J'ai cru voir quelque part sur ce forum la phrase "aide toi et XLD t'aidera", donc j'applique a la regle et j'ai enfin reussi a demarrer!! 😀

Donc dans le fichier ci joint, vous trouverez dans le module 1

3 Macro

Importer
ImportationDatasFichierFerme
S_BD_traitement

Pour la suite des evenement j'ai mis en place des constante pour aller importer mes info depuis le bon fichier (ici on va chercher les info dans le meme fichier)

Une fois les infos importees
On traite les donnee avec S_BD_traitement

Dans cette macro je supprime en "bidouillant" les colonees non voulue
et je met la date en colonne A

Tout ca fonctionne ( bon si vous voyez des zone d'amelioration dans le code ne vous privez pas!!! comme je dis j'ai eu recourt au bidouillage vu que je suis un vrai profane!! arff)

Si vous le voulez bien, on peu poceder petit bout par petit bout (je comprend que vous demander de m'aider a tout faire n'est pas le but du forum)

Donc je pense que la suite des evenement est:

Dans ImportationDatasFichierFerme

Faire un IF disans que si le mois est Janvier alors

.Range("A2").CopyFromRecordset rst

Esle

Chercher la derniere cellule vide de la colonne B

et faire .Range("derniere cellule Active + 1".CopyFromRecordset rst


Voila et ca j'y arrive pas ( bon d'un autre cote pas facile a tester vu que c'est la premiere fois qu'on le fait)

Autre remarque et ca j'y arrive encore moins: si le mois n'est pas janvier coller Recordset mais sans la premiere ligne (qui comprend les titres)

Voila, en esperant que vous pourrez m'aider! 🙂

Bonne journee a tous

Sim

precision: vous pouvez tester la macro en changeant le chemin d'acces en haut de module 🙂
 

Pièces jointes

Dernière édition:
Re : Macro: Creation BD au fil des mois....

Halalala, dsl mes les idees me viennent au coup par coup

dans ImportationDatasFichierFerme

Code:
' C'est ici qui faut mettre le test du mois

If January then
           Copier le DATA_FILE
           Le renommer DATA_FILE + annee
End IF
Workbook  ("DATA_FILE + annee").Activate

With ThisWorkbook.Sheets("BD")

            For Each fld In rst.Fields
                i = i + 1
                .Cells(1, i) = fld.Name
            Next
.Range("A2").CopyFromRecordset rst
End With

If not January

Workbook("DATA_FILE").Activate
With ThisWorkbook.Sheets("BD")


'Rechercher la derniere cellule active et coller Recarset en dessous
     For i = Range("b65536").End(xlUp).Row To 1 Step -1
                If Cells(i, 2).Value <> "" Then
             Cells(i, 1).CopyFromRecordset rst
                End If
            Next i
End With
End IF

Enfin un "truc" comme ca :S

Sim
 
Dernière édition:
Re : Macro: Creation BD au fil des mois....

Bonjour Sim

Je ne pourrais pas t'aider car je considère que c'est à toi de trouver ta solution qui dans ton cas n'est pas simple à trouver.

Je considère que si je peux aider avec 5 minutes maxi, c'est tous ce que je dispose 😱.

Je vais donc te laisser aller voir ici avec une discussion très intéressant de de notre ami JB 🙂.

https://www.excel-downloads.com/threads/commande-ado.164279/

Sinon, il faut aller voir du côté de ODBC ou SQl avec un tutoriel de notre ami Mickaël (Mromain que tu pourras facilement trouvé dans le salon 🙂).

Bon courage 🙂.
 
Re : Macro: Creation BD au fil des mois....

Bonjour MJ13,

Deja un grand merci pour cette reponse je me sentais un peu seul jusque la 🙁

merci pour tes conseils je mis met donc de ce pas...arff je suis pas sortis de l'auberge

Je reveins sur le fil des que je progresse.

Merci 😀

Sim

Euhh pas sur que la precedente pj fonctionne donc la revoila 100% sur que ca fonctionne..
 

Pièces jointes

Re : Macro: Creation BD au fil des mois....

MJ13, le forum,

Alors comme ca a premiere vue j'ai du mal a comprendre comment la discussion dont tu a mis le lien pourrait m'aider...arff si ca se trouve c'est evident mais moi ca m'echappe....

J'avoue que je commence un peu a desesperer car je suis vraiment bloquer...je vais voir le lien de Mromain, j'espere que ca me parlera plus..

Je revens donne mes impressions dans peu de temps 🙂

Sim
 
Re : Macro: Creation BD au fil des mois....

MJ13, le forum,

Ok je viens de voir ce tuto, qui est genial, il me pernet de savoir comment je peu arriver au resultat voulu sans code est asses facilement...

L'avantage c'est qu'il me donne le code de la SQL si jamais je voulais m'en servir dans mon code, j'essaye de voir si on peux faire appraitre la date en colonne a avec un champs calculer, apparament pas si facil....

Apres je les etapes de differenciation du mois et le fait de prendre la meme base de donnee dont la query devrait se repeter chaque mois, c'est encore moins gagner..

Alors je continue, mais ca serait vraiment genial si quelqu'un pouvait m'aider a moins pedaler dans la semoule

Merciiiiii 🙂

Sim
 
- 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
12
Affichages
502
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
177
Retour