XL 2013 Historiser une BDD à partir d'un critère

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

Etn

XLDnaute Occasionnel
Bonjour les gens !

Me revoilà aujourd'hui car je n'arrive pas à résoudre mon problème.

Voici le contexte :

Tous les jours j'extrais une base de données en A1 qui répertorie tous les employés présents de l'entreprise (cf fichier joint onglet extraction). A partir de ça je souhaiterais obtenir l'historique de tous les employés arrivés dans l'entreprise en 2016. (cf onglet Référencement arrivée 2016). Néanmoins les gens qui sont arrivés entre le 01/01/2016 et qui sont parti avant aujourd'hui ne sont plus dans l'extraction (les noms en rouge dans l'onglet Extraction), mais je voudrais qu'ils soient quand même présents dans l'onglet référencement.

Quelqu'un aurait une idée pour résoudre ce problème. J'ai pensé à stocker toutes les extractions puis faire un TCD, mais ce n'est pas une solution viable à long terme (extraction de 300 lignes tous les jours, ça prendrait trop de place).

Merci d'avance pour votre aide, bonne journée,

Etn
 

Pièces jointes

Re : Historiser une BDD à partir d'un critère

Bonjour Etne, thebenoit59 le forum,

Une macro qui réalise l'historique des personnes entrées depuis le 1er janvier 2016.
Il est possible de changer la date en L1 pour d'autres extraction.
 

Pièces jointes

Re : Historiser une BDD à partir d'un critère

Rebonjour,

Excusez moi je reviens vers vous car j'ai répondu un peu trop hâtivement (j'étais dans le train et je n'avais pas le temps de faire beaucoup de tests).

Tout d'abord pour CBernardT, votre formule est très pratique pour récupérer uniquement les arrivées en 2016 néanmoins si l'employé n'apparait plus dans l'extraction, il n'apparait plus non plus dans le tableau de référencement. Finalement plutôt que d'historiser les données voulues de l'extraction, elle ne fait qu'appliquer un filtre en fonction de la date en L1.

Pour la macro de thebenoit59, elle répond davantage à ma demande, malgré que, elle ne fasse pas de sélection concernant les dates d'arrivées (besoin que j'ai contourné en utilisant un TCD), elle historise correctement les données.

En effet voici ce que cela donne quand j'essaye d'adapter :

Code:
Option Explicit

Sub Extraction()
Dim i As Long, d As Object
With Sheets("Opérations")
Set d = CreateObject("scripting.Dictionary")
For i = 2 To .[g65000].End(xlUp).Row: d(.Cells(i, 1).Value) = "": Next i
End With
With Sheets("Base J-1")
For i = 2 To .[g65000].End(xlUp).Row
    If Not d.exists(.Cells(i, 1).Value) Then .Range(.Cells(i, 1), .Cells(i, 25)).Copy Sheets("Opérations").Cells(Sheets("Opérations").[g65000].End(xlUp).Row + 1, 1)
Next
End With
End Sub

J'ai changé le nom des feuilles et j'ai remplacé a65000 par g65000 car mon matricule se trouve en colonne G.
Néanmoins les nouvelles lignes ne se copient pas sur mon fichier quand je change le numéro du matricule (sûrement dû au fait que le changement de matricule n'est pas détecté).
Je n'ai pas link le fichier original dès le début pour des raisons de confidentialités, mais également pour que je pratique un peu le VBA et que je comprenne au mieux les macros que vous m'envoyez en les adaptant à mon fichier (et pas seulement recopier bêtement).

Du coup j'ai joint le fichier qui correspond quasiment à ce sur quoi je bosse (j'ai modifié les données), et le test que je réalise c'est utiliser une première fois la macro pour voir si cela copie bien tout. Puis je modifie juste le N°histo en G114 et G115 pour vérifier si cela rajoute bien 2 nouvelles lignes (car normalement 2 nouvelles opérations) mais cela ne fonctionne pas, pourtant cela fonctionne bien sur ton fichier d'origine thebenoit59. 😕

Je ne sais pas si j'ai été très clair, en tout cas merci pour votre aide !

Bonne soirée,

Etn.
 
Dernière modification par un modérateur:
Re : Historiser une BDD à partir d'un critère

Bonjour Etn.

La seule erreur vient du d(Cells(i, 1).Value)
En effet, sur le premier fichier, nous travaillons avec la colonne 1, donc Cells(i, 1)
Dans le nouveau fichier le matricule est en colonne 7, alors il faut modifier en conséquence 🙂.
 
- 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

Retour