recherche par fourchette de dates dans un tableau

ericvision

XLDnaute Nouveau
Bonjour à tous,
Avant de vous enquiquiner avec mon problème j'ai bien cherché sur le forum mais sans succès. Je travaille pour plusieurs employeurs sur différents site j'ai crée un classeur: une première feuille paramètres ..1 feuille pour chaque mois avec tout les jours du mois.Toutes ces données sont renvoyées vers un tableau contenant une colonne dates (toutes les dates de l'année), une colonne fonction (poste occupé pour chaque jour travaillé), une colonne commentaire (des précisions sur le lieu de travail par ex), ..etc. J'aimerais extraire des données en fonction d'une fourchette de dates sélectionnée par menu déroulant. Tout marche sauf l'extraction. Est-ce possible sans passer par VBA (je suis ignorant en la matière)?? Je bataille depuis un moment (avec des sommessi par ex.) sans y parvenir. Merci beaucoup de bien vouloir me mettre sur la voie. Je précise qu'avant de m'attaquer à ce classeur je ne connaissais pas excel, j'ai beaucoup appris mais reste à un niveau débutant. A bientôt.
 

limagerit

XLDnaute Occasionnel
Re : recherche par fourchette de dates dans un tableau

bonjour

il me semble que l'on peut obtenir un résultat correct avec les tableaux croisés dynamique

outil de tableau / création / synthétiser avec un tableau croisé dynamique
 

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

Bonsoir le fil :)

Dis donc, pour quelqu'un qui ne connait pas excel comme tu dis, tu fais des trucs rudement bien :)

Au cas où celà pourrait t'aider, une suggestion avec les filtres automatiques d'excel 2007 qui sont assez puissants...
Tu sélectionnes ta 1ère ligne, puis tu cliques sur le menu Données et l'icone entonoir "Filtrer" dans le ruban.
Là, sur ta 1ère ligne, tu vois apparaître des petites flèches dans chaque cellule.
Clique sur la petite flèche du champ Date, là tu peux déjà cocher ou décocher ce qui t'intéresse.
Si ces critères ne correspondent pas à ton souhait, clique dans le menu qui s'est affiché pour l'occasion, sur "Filtres chronologiques".
Là tu vas voir apparaître une ribambelle de choix possibles.
Si tu ne trouves pas ton bonheur dans la liste, ce qui est probable, continues dans ce menu et clique sur "filtre personnalisé".
Là, tu peux saisir par exemple une date "antérieur ou égal" à une date de fin de période, puis un autre critère date "postérieure à" ton début de période, et quand tu as terminé (plus long à dire qu'à faire) ton tableau n'affiche que ce qui correspond aux critères que tu as choisis.

Avant d'aller plus loin, tente cette piste, et reviens si elle ne te convient pas car il y a d'autres solutions, comme toujours avec notre tableur préféré :) (comme les filtres élaborés, clin d'oeil à notre ami bhbh :) )

Bonne soirée à toi et @ +

mth
 
Dernière édition:

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Bonjour Limagerit,
Merci de ta réponse, j'ai bien tenté par TDC mais c'est trop compliqué, surtout à cause du nombre élevé de lignes. Je cherche vraiment à faire des sommes sur une fourchette de dates et la sélection est compliquée sur un TDC il me semble. A la base mon tableau récap permet le tri mais je cherche quelque chose de plus souple et plus efficace.
Merci à toi, a bientôt.
 

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

re,

avec les éléments de ton dernier post, du coup au cas où je t'ai placé dans le fichier joint, deux listes de validation pour choisir tes dates début et fin, puis quelques calculs relatifs à cette période.
C'est juste à titre d'exemple, si ça se trouve c'est autre chose dont tu as besoin.

@ + tard,

mth
 

Fichiers joints

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Salut MTH,
Super la rapidité des réponses!!! Merci à toi de prendre un peu de ton temps pour moi. En effet j'arrive à quelque chose avec les filtres mais je trouve cela trop laborieux, je voudrais quelque chose de plus convivial. J'ai tenté ceci : =SOMME.SI(Tableau1[Heures];(Tableau1[Date]>=DATE(K12;G13;F12))*(Tableau1[Date]<=DATE(K12;J13;I12))) mais je pense qu'il me faudrait convertir les dates en nombres pour que ça marche. De plus je vise d'autres fonctionnalités pour lesquelles ça m'aiderait de maitriser cette question.
Merci encore, à bientôt.
 

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

sourire... nos messages se sont croisés :)

j'ai l'impression que la dernière pièce jointe se rapproche un peu de ce que tu cherches, je te laisse creuser ça et à plus tard sans doute :)

bonne soirée à toi,

mth
 

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Impeccable MTH,
Effectivement nos réponses se sont croisées.
En peu de temps tu m'aides à trouver un truc sur lequel j'ai passé des heures. Je tournais autour sans y arriver. Je vais tenter de l'adapter et ça devrait marcher. Ci-joint un aperçu approximatif de mon extraction. C'est un peu vicieux mon truc!!
Encore merci
Vive les notes bleues.
A plus
 

Fichiers joints

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

re :)

de plus en plus joli ton fichier, bravo :)

Pas pu jouer avec toutes les listes de validation car je n'ai pas le fichier Grille intermittentV6.xlsm sous la main, mais avec ton travail je vois mieux ce que tu veux faire maintenant.

J'imagine que tes données seront dans un autre onglet, dans le même fichier, je ne t'ai pas mis de formules en l'absence de données, mais je pense que tu vas t'en sortir avec les fonctions que je t'ai mises dans la dernière pièce jointe, essentiellement grâce à la fonction sommeprod.
C'est une fonction magique (même si très gourmande en ressources), qui fonctionne moyennant certaines règles comme:
- Ne pas sélectionner de colonnes ou de lignes entières (une référence type A:A ne marche pas, une référence type A2:A1200 est ok)
- C'est une fonction matricielle, donc bien conserver une matrice carrée, à savoir même nombre de lignes pour toutes les références.
- il faut bien sûr que les libellés soient rigoureusement identiques, entre le fichier contenant les données, et la liste de validation,sans quoi le résultat sera faux.

Je te laisse faire, mais reviens (avec un fichier contenant quelques données) si tu es en panne.

Bonne soirée/nuit et à bientôt,

mth

ps: sourire... contente que tu aimes les notes bleues ;)
 

ericvision

XLDnaute Nouveau
Re Bonjour à tous

Merci encore MTH pour ton aide,
En effet avec tes exemples je suis arrivé à ça (voir PJ), ce qui commence à ressembler à ce que je désire.
Par contre j'ai tenté de cumuler les conditions d'extraction (employeur + fonction par exemple) mais sans succès, je vais tenter en passant par une étape intermédiaire ou avec des si.:confused:
Merci pour ce site et bonne soirée (ou nuit) à tous

:)
PS : j'aime particulièrement les notes bleues de Kind of Bluee et de Porgy & Bess
:)
(avec la bonne PJ)
 

Fichiers joints

Dernière édition:

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

sourire.... hummmmmmm.... Kind of Blues..., sublime :)

Pour tes critères employeur+fonction, difficile de t'aider sans avoir une idée du fichier Grille intermittentV6, si tu cales, n'hésite pas à en poster un extrait sur ce fil.

En tout cas bravo pour ton travail et à bientôt,

mth
 

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Re bonjour MTH et tout les autres

J'ai réussi avec tes conseils et les sommeprod en passant par une étape intermédiaire. Encore quelques fonctionnalités à rajouter et ma grille sera prête. Je dois encore trouver le moyen de récupérer tout les commentaires sur chaque feuille mensuelle pour en faire un liste pour l'extraction.
Cette grille servira également à mes proches collègues. Ca peut être un outil utile pour des personnes qui sont comme moi intermittents du spectacle ou à des intérimaires. Si quelqu'un en a éventuellement besoin je la mettrais volontiers à dispo, quoique sur ce site il y a des trucs d'une complexité assez impressionnante auprès desquels ma modeste grille fait amateur :)
Si tu veux jeter un œil dessus :Free - Envoyez vos documents
A bientôt.
 
Dernière édition:

mth

XLDnaute Barbatruc
Re : recherche par fourchette de dates dans un tableau

Bonjour à tous :)

Ericvision, hé bé, quel boulot !!

Pas eu beaucoup de temps aujourd'hui mais je viens de regarder ton fichier avec intérêt, quelques idées à prendre ou à laisser:

Lourdeur du fichier: retirer l'image de fond qui est cahée dans l'onglet paramètres

Liste de validation employeurs: elle n'est pas valide car quand tu ajouteras des lignes, tu risques d'avoir des doublons et une liste extrêmement longue.
Une petite idée mal écrite mais en gros, faire un filtre élaboré sans doublon et de se servir du résultat trié pour la liste de validation.
Un petit bout de code qui va faire hurler les pros du vba mais qui fonctionne de mon coté en attendant mieux, à placer dans la procédure événementielle de l'onglet parametres:

Code:
 Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Application.Intersect(Target, ActiveSheet.Range("E9:E30")) Is Nothing Then
Range("E5:E30").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "AA10"), Unique:=True
    
    ActiveWorkbook.Worksheets("Parametres").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Parametres").Sort.SortFields.Add Key:=Range("AA12:AA41") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("parametres").Sort
        .SetRange Range("AA12:AA41")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End If

End Sub
ce qui permet de mettre dans la référence de la liste de vlidation employeurs:

Code:
=DECALER(PARAMETRES!$AA$12;;;NBVAL(PARAMETRES!$AA:$AA)-1;)
Macro razmois on a si vite fait de cliquer sur un bouton ... presque envie de te proposer un message d'alerte, encore une fois pas bien écrit mais qui fonctionne:

Code:
Sub razmois()
    Dim Réponse As Integer
    
    Réponse = MsgBox("Souhaitez-vous vraiment effacer les données ?", vbYesNo + vbQuestion, "Confirmation")
        Select Case Réponse
            Case vbNo
                Exit Sub
            Case vbYes
                On Error Resume Next
                MsgBox "Il n'y a pas de données à effacer", vbInformation + vbYes, "Information"
                Exit Sub
'... ton code actuel (ou tu as fais fort en ScrollRow) :)
'terminé par:
 
End Select
End Sub
Voili voilou, je te souhaite une très bonne soirée et à bientôt,

mth
 

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Merci pour ton aide MTH
Je ne comprenais pas pourquoi mon fichier était si lourd!!! Sans l'image de fond j'ai en effet gagné 4Mo!! Ca montre bien mes limites :)
Je me casse la tête sur le VBA pour essayer de comprendre. En fait certains de mes collègues m'ont demandé d'avoir la possibilité d'entrer jusqu'a 20 employeurs, d'où mon tablo paramètres. Si j'ai bien compris ton code va chercher les infos et les recopier sans doublons en AA12:AA41. Je vais tester et si j'y arrive je pourrais l'utiliser pour extraire sans doublons les commentaires de mon tableau recap pour en faire une liste de validation pour l'extraction. Je me penche là dessus et, si tu le veux bien, te recontacte.
Merci encore
A bientôt
 

ericvision

XLDnaute Nouveau
Re : recherche par fourchette de dates dans un tableau

Encore merci MTH
Super la macro pour les raz. Je n'ai pas réussi à appliquer l'autre par contre, je vais encore travailler dessus. J'ai posté une nouvelle question "compter cellules non vides dans une colonne selon critères" pour ne pas te mettre trop à contribution car tu m'as déjà beaucoup aidé et je crains d'abuser:)
A bientôt
 

Discussions similaires


Haut Bas