Extraire des données uniquement entre deux dates

le fichier ... lien vers fichier supprimé

les commentaires sont dans la page précédente !

Voilà où j'en suis lien vers fichier supprimé

Il faudrait expliquer comment trouver les primes

Je crains que le fichier en rame un peu, avec toutes les liaisons entre onglets et les calculs. J'ai essayé d'optimiser.

C'est un beau travail que tu as fait même si le fichier n'est pas tout à fait approprié; mais je reconnais que les progiciels de gestion de personnel sont complexes car ils prévoient tous les cas de figure (sauf le sien souvent) et qu'ils sont donc très délicats à programmer.

In fine si un individu peut revenir plusieurs fois en détachement ou en CDD, c'est un n° de contrat qu'il faudrait mettre pour lier les différentes feuilles. A défaut j'ai mis un n+ de ligne séquentiel dans plusieurs feuilles (dernière colonne) pour effectuer les calculs. Mais pour autrant tu ne pourras pas supprimer, insérer ou trier les lignes de ta BdD.

Bonjour Steelson,

Je ne trouve pas les mots pour te remercier du travail formidable que tu as fournis pour m'aider, c'est grandiose, je te suis vraiment reconnaissante, tu peux pas t'imaginer a quel point cela va me changer la vie au travail. Merci du fond du coeur.

Pour les primes certaines sont fixes et seront définie dans la base de donnée. Dans l'onglet prime, en fonction du remplacement soit par un de nos salaries ou par un cdd, une prime journalière peut-être attribuée selon le service auquel il est rattaché. La prime d'assiduité est due si on justifie d'aucune absence dans le mois sauf pour formation, événement et at.

Pour le numéro de ligne séquentiel, je ne connais pas sa fonction. Je suppose que si dans ma base de donnée on retrouve le même nom et prénom, il doit alors se passer quelque chose.

Si j'ai bien tout compris, dans ma base de donnée, je ne pourrais pas la trier alphabétiquement, cela ne me pose aucun problème mais si je fais des formules avec une recherchev, le fait du non trie , ne viendra t-il pas perturber cette formule ?

Vraiment encore merci pour tout.

Merci, le plaisir est aussi pour moi. Je préfère ce genre d'exercice à des mots-croisés ou des sudokus !

N'hésite pas à poster, il y a d'autres contributeurs même si chacun a sa façon de faire (certains feront des macro très complètes et conceptuelles -attention à la maintenabilité-, moi je préfère d'abord utiliser les fonctionnalités d'excel et ensuite automatiser avec un code super léger)

Il reste le problème de la référence ou matricule ! Ici c'est juste un n° de ligne dont l'intérêt est de savoir, dans le filtre, à quelle ligne on a à faire ! Même si tu triais, le n° de ligne restera fixe compte tenu de sa formule. Et surtout, il n'entraînerait aucunement le tri des autres colonnes des autres onglets.

On utilise chez nous des n° matricule. On peut utiliser des n° de contrats par exemple. Cela consoliderait ton application et éviterait des désagréments.

Mais on peut aussi prendre une autre voie (ce que je fais d'habitude) = reporter les valeurs introduites dans les feuilles (comme les absences) dans un tableau-base de données (qui peut rester masqué). L'avantage est aussi de réduire la fenêtre (par exemple le mois) de la feuille d'absence, sachant qu'elle se rafraîchit aussi à chaque activation. Je ne suis pas le seul à le faire du reste. Je vais continuer à réfléchir au sujet. Mais cela risque quand même de compliquer beaucoup le code.

J'ai peut-être une solution au problème de tri/insertion/suppression tout en gardant l'architecture générale de ton fichier.

Regarde ci joint, et dis moi si c'est compréhensible ... et fais les tests nécessaires comme le tri.

Bonjour Steelson,

Au risque de me répéter encore et encore vraiment merci pour tout.

J'ai omis de te dire, qu'en principe ma base de donnée devrait s'alimenter par un autre classeur géré dans le service Rh. Il n'est pas encore créé et je pense que ce sera mon prochain challenge pour aider nos services. Mais, je ne pense pas que cela va gêner en quelque chose ce fichier car on l'adaptera en fonction des codes.

Le tri marche, je vais donc l'adapter à mon fichier, n'étant pas du tout experte dans la matière, je m'en remets à toi qui dans tes connaissances et ton expérience sont largement au-dessus de moi.

Pour les absences dans un tableau masqué, je ne sais pas à quoi cela consiste, je pense qu'il doit y avoir une nécessité mais pour l'instant elle m'échappe.

Je vais faire l’adaptation, grand grand merci

Un conseil ... ton fichier est super-important, fais des copies systématiques tous les soirs, voire à chaque grosse modifications de structure. C'est un réflexe car je me suis souvent trouvé démuni !

Bon courage, car cela va être un peu long pour reprendre les onglets : séparer les dates des en-têtes de colonnes, mettre en tableau, et refaire les formules de liaison.

Mais, le service RH n'a-t-il pas lui un identifiant déjà ?

T'as raison, j'avais déjà commencé sans faire de copie, je fais la faire de suite merci.

C'est pas grave si cela prend du temps au moins je me sens participer même si c'est toi qui fais le plus gros du travail. par contre peux tu me développer ta formule sierreur (complexe pour moi);

Malheureusement, le service Rh n'a pas de numérotation et est aussi sans logiciel est c'est vraiment la galère nos seuls outils sont word et excel et bien sûre quadra paie mais uniquement pour la paye.

Bonjour Steelson,

J'ai intégrer les formules mais en voulant aller sur l'onglet mois, j'ai une erreur d’exécution 1004 dont je ne sais pas pourquoi et surtout ne sais pas ce qu'il faut faire.

Dans l'attente de ton retour

Bonne journée

2 choses :

modifie la ligne de la macro comme suit :

    Sheets("BD").Range("BdD[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("B2:C4"), CopyToRange:=Range("A5:K5"), Unique:=False

et modifie la cellule K5 de la feuille mois pour que ce soit la même chose que dans la feuille BdD, à savoir #Rep

J'ai mis rep en colonne A et modifié la macro, je n'ai plus de code erreur mais en changeant de mois, il ne se passe plus rien. Alors j'ai remodifié dans la macro B2:C4 en C2:D4 puisque j'ai rajouté une colonne en premier, mais toujours rien se passe et là je sais pas.

Referme et relance ...

Modifie aussi la plage CopyToRange:=Range("A5:K5") si nécessaire.

J'ai fais ce que tu m'as conseillé et a sa réouverture j'ai :

capture

J'ai compressé le fichier en espérant que tu puisses l'ouvrir sinon je repasserai par cjoint.com.

Le problème vient du fait que dans la plage d'extraction (A5:K5 à l'origine) les intitulés doivent être strictement les mêmes que dans la base de données, y compris des espaces qui se trouveraient au bout des intitulés, y compris le "." que j'avais mis derrière rep à un moment.

In fine j'ai décompressé le rar

Dans l'onglet mois, en A5 il faut mettre #Rep au lieu de Rep.

En filtre, les noms des colonnes doivent être les mêmes

Bonjour Steelson,

J'ai corrigé et maintenant pour que les données se mettent à jour en fonction du mois selectionné , il faut que je ferme et réouvre le classeur. Décidément, j'ai du encore omettre quelque chose et suis vraiment désolée.

C'est super si tu peux ouvrir le fichier en rar cela m'évite de passer par cjoint.

Bonne journée et merci pour tout

Dans VBA (Alt + F11)

Clique à gauche sur onglet mois

capture d ecran 254

Change A1 en B1 puisque le mois apparaît en B1

Option Explicit

Private Sub Worksheet_Activate()
    Filtrer
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    Filtrer
End Sub

Bonne journée

Bonjour Steelson,

Ça y est cela marche génial, quelle tête de linotte que je fais.

J'aurai encore besoin de tes lumières pour l'onglet individuel ou cette fois dans le planning en fonction du salarié sélection s'affiche au mois que les rtt,drtt rtt.t, cc, cc.t et cp, j'ai essayé par sommeprod, mais cela ne fonctionne pas.

Un grand MERCI

Bon dimanche

J'avais oublié, j'ai crée un nouvel onglet pour le suivi des ADT, j'ai pris exemple sur l'onglet mois et l'ai adapté en fonction avec un nouveau sub filtrer1.

Cela marche à l'identique que le mois mais comment lui dire qu'ici nous traitons que les salariés qui ont une date de fin dans le mois sélectionné. Cette fois-ci on traite au mois et non sur la période.

J'espère que mes explications sont assez claires.

Merci encore pour tout.

En testant dans mes onglets de variable pour voir si mes formules marchent, c'est une horreur lors de l'ajout ou la suppression de données dans son exécution. Donc, je rencontre moi aussi ce problème de lenteur à ce niveau et mon ordi s'emballe comme si il cherché quelque chose, je ne saurai expliqué exactement le bruit.

Rechercher des sujets similaires à "extraire donnees uniquement entre deux dates"