XL 2013 Recherche et retranscription de donnée de la semaine en cours

MariePW

XLDnaute Nouveau
Bonjour à tous!

J'ai frotté la lampe et j'attends le génie qui saura m'aider !

J'ai une liste de "fournisseur à payer" pouvant être très longue. J'aimerais rechercher dans cette liste TOUS les fournisseurs pour lesquels le paiement est dû pour cette semaine en fonction de "Aujourd'hui".

PARTICULARITÉ, la semaine débute le lundi et se termine le dimanche.

Exemple, si nous somme le 18 août, je désire retracer tous les fournisseurs contenus entre le lundi 17 août et le dimanche 23 août.

Les résultats devront être retranscrits dans un autre tableau.

J'espère que la pièce jointe saura fournir l'info que je n'ai pas su transmettre.

Je vous remercie grandement.

Marie PW
 

Pièces jointes

  • recherche_transcription_resultat.xlsx
    12.1 KB · Affichages: 41
Dernière édition:

ralph45

XLDnaute Impliqué
Re : Recherche et retranscription de donnée de la semaine en cours

Bon,

En attendant, vu que j'ai recopié les données, un petit bricolage largement perfectible.

NB : La seule donnée à modifier est en rouge + clic sur bouton "Go !"

Pourquoi se bloquer sur la semaine en cours ?
--> Je vous laisse le choix dans la date...

Voir en PJ.

A+
 

Pièces jointes

  • Test_MariePW2.xlsx
    22.3 KB · Affichages: 61
Dernière édition:

MariePW

XLDnaute Nouveau
Re : Recherche et retranscription de donnée de la semaine en cours

Vous êtes une machine. Bordel, mais c'est quoi ce truc? C'est impressionnant, mais je ne comprends pas comment fonctionne le GO. Est-ce que vous pouvez me donner le nom de ce que vous avez fait, de façon à aller m'instruire?

Dans mon exemple, les dates sont uniques, mais il se peut que plusieurs fournisseurs doivent être payés à la même date.



Je viens de retourner un nouveau fichier, j'espère qu'il n'est pas protégé cette fois-ci.

Je dois quitter pour la soirée. Merci encore.
 

Pièces jointes

  • recherche_transcription_resultat2.xlsx
    11.1 KB · Affichages: 37

ralph45

XLDnaute Impliqué
Re : Recherche et retranscription de donnée de la semaine en cours

Re,

Sympa : je passe du "génie" au "robot qui travaille dans une maison de plaisirs".
Ou quand la mécanique du claque l'emporte sur la technique du "clic".
:p

Quant au bouton "Go !", explications pour demain ! Je suis vanné (indice = cela ne veut pas dire Giga-octets)

A+
 

ralph45

XLDnaute Impliqué
Re : Recherche et retranscription de donnée de la semaine en cours

Bonjour MariePW, le Forum,

Explications

Il existe sous Excel une fonction avancée s'appelant "Filtre personnalisé/avancé" qui permet donc de filtrer - à partir d'une base - des données selon des critères à spécifier.

Ce qu'il nous faut comme ingrédients (pour le croustillant et le fondant) :
- une source (votre plage A1:C37) ;
- une base de conditions (votre plage E1:G8) ;
- un emplacement de destination (votre ligne E13:G13) ;

NB : essentiel --> les titres de ces champs doivent être identiques, à la virgule près !

a) En lançant la fonction (Ruban "Données" / Filtre avancé), une pop-up (fenêtre contextuelle) apparaît.
--> Vous devez remplir tous les champs comme ci-dessous (voir image)

Filtre_Avancé_Explications_Pas_A_Pas.jpg

b) Ensuite, je "biaise" (j'ai bien écrit "biaise", hein ! ;)) le filtre avancé en lui indiquant que ma plage de conditions sur les dates (G1:G8) commence par la valeur G2, qui est égale à la cellule E11 (la donnée en rouge que vous pouvez modifier).

c) Enfin, le bordel-de-merde de bouton "Go !" n'est qu'un objet pilotant une macro exécutant tout ce que je viens d'expliquer. Une macro est une automatisation des tâches, générée par un code qui ressemble à ceci (voir ci-dessous), collé dans l'interface VBA d'Excel (Alt+F11, pour y accéder --> Feuil1) :
Code:
Private Sub BTN_GO_Click()
    Range("A1:C37").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
        "Feuil1!Criteria"), CopyToRange:=Range("Feuil1!Extract"), Unique:=True
    Range("G10").Select
End Sub

Si la partie c) vous paraît obscure, entrainez-vous* manuellement avec les filtres avancés sans tenir compte de ce point. C'est un peu plus de manipulations à faire, mais cela vous permettra de bien comprendre cette fonction fort pratique.

* Astuce : faites des tests ludiques --> n'utilisez pas des données de travail, mais personnelles, qui vous parlent : vous apprendrez beaucoup plus rapidement (moi, c'est avec mon hobby, le cinéma). ;)

* Exemple : "Dans ma famille, qui a les cheveux roux ? Est une femme/un homme ? A des lunettes ? etc." avec un tableau dédié (sachez également que vous pouvez croiser/imbriquez les conditions : "Personne de ma famille femme ET rousse ET avec des lunettes.)

Voili-voilou, je vais me prendre un big café, sur ce.

A+
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Recherche et retranscription de donnée de la semaine en cours

Bonjour MariePW, ralph45,

Passer par ici après "la machine" ... je me fais un peu l'effet de Fabrice Luchini qui suivrait Schwarzenegger dans un couloir étroit :rolleyes:

En pièce jointe, un essai par formules.
J'ai utilisé la dernière colonne du tableau (parce qu'elle était vide) pour afficher, par formule, le n° de ligne, si la date est comprise entre le lundi et le dimanche de la semaine en cours. Dans le tableau récapitulatif, la fonction INDEX, combinée à PETITE.VALEUR ... c'est un peu le même principe que celui proposé ici il y a à peine une quinzaine de jours ... en définitive, la proposition ne convenait pas ou n'était pas "transposable"?

D'aucuns ne manqueront pas de mentionner -avec raison- qu'on pourrait arriver à répondre à la demande avec un TCD. Voir les propositions de chris ici et de JCGL ici (les 2 seraient évidemment à adapter)
 

Pièces jointes

  • recherche_transcription_resultat2 (MariePW).xlsx
    14.6 KB · Affichages: 46

MariePW

XLDnaute Nouveau
Re : Recherche et retranscription de donnée de la semaine en cours

Merci Modeste, c'est exactement ce que je désirais. Effectivement, si j'étais meilleure ou plus avancée, j'aurais été en mesure d'adapter la solution d'il y a 2 semaines, mais j'ai encore BEAUCOUP de croûte à manger avant d'être en mesure de composer de tel combinaison...

Chacune de vos réponses double mes connaissances.

Merci Ralph45! Je vais étudier ça et réussir. Je me heurte pour le moment à des problèmes de noms... J'ai bien vu votre mise en garde et collé/copie mes noms d'en-tête, mais bon, je vais chercher ailleurs et réussir, car c'est plein de belles nouvelles solutions à ma disposition.

Merci encore et passez une belle journée.
 

klin89

XLDnaute Accro
Re : Recherche et retranscription de donnée de la semaine en cours

Bonjour à tous,
Bonjour Marie :)

Une alternative avec la fonction de tableau Filter, trop peu utilisée à mon goût :(
VB:
Sub Semaine_en_cours()
Dim x, deb As Date, fin As Date
    'deb = Evaluate("=" & CLng(Date) & "-MOD(" & CLng(Date) & "-2,7)")
    deb = Date - Weekday(Date - 1) + 1
    fin = IIf(Weekday(Date) = 1, Date, Date + 8 - Weekday(Date))
    With Sheets("Feuil1").Range("a1").CurrentRegion.Columns("A:C")
        x = Filter(.Parent.Evaluate("transpose(if((" & .Columns(3).Address & ">=" & CLng(deb) & ")*(" & _
            .Columns(3).Address & "<=" & CLng(fin) & "),row(1:" & .Rows.Count & "),char(2)))"), Chr(2), 0)
        If UBound(x) > -1 Then
            .Range("I10").Resize(UBound(x) + 1, .Columns.Count).FormulaLocal = _
            Application.Index(.Value, Application.Transpose(x), Evaluate("column(" & .Rows(1).Address & ")"))
        Else
            MsgBox "Aucune donnée"
        End If
    End With
End Sub
klin89
 
Dernière édition:

MariePW

XLDnaute Nouveau
Re : Recherche et retranscription de donnée de la semaine en cours

Bonjour Klin89 et 1 p ki 100 vo V te tu !

Je ne suis pas encore rendu au VBA dans mon évolution et je ne sais pas ce que c'est qu'un TCD. Mais je conserve vos suggestions pour plus tard. Je vous remercie énormément.
 

Discussions similaires

Statistiques des forums

Discussions
312 443
Messages
2 088 470
Membres
103 861
dernier inscrit
FoulBazar31