Recuperer des donnees en saisissant une date

Bonjour à tous,

j'aimerai savoir comment recuperer des données en saisissant une date. Je m'explique j'ai un classeur excel qui contient 12 feuilles ( janvier, fevrier,..., )à l'interieur de chaque feuille on retouve un planning journalier. comme je dois editer des bons de travail, j'aimerai creer une 13eme feuille ou lorque je saisirai la date du jour, il me recuperer toutes les données concernant cette date. Merci de votre aide j'espere a voir été assez clair

Bonjour,

je vois 3 manières de commencer à répondre à ta question :

1/ je me connecte mentalement à ton classeur, j'en fait une copie complète à distance afin de te fournir une réponse adaptée à l'organisation de tes données. je suis un peu magicien !

2/ je te dis qu'il faudra utiliser la fonction index(), la fonction recherchev(), la fonction equiv(), la fonction indirect() pour chercher dans toutes les feuilles ou une procédure VBA et à toi de jouer

3/ tu envoies un petit fichier exemple

très cordialement

Bonjour

L'Exemple

Cordialement

43mois.zip (3.45 Ko)

bonjour,

merci amadeus pour ton exemple mais mon planning est un peu plus compliqué, avec un exemple ça sera plus parlant

le resultat attendu est dans l'ongler recap

merci pour votre aide

32essai.xlsx (27.32 Ko)

Bonsoir,

Tu as donc une récap par équipe ?

J'ai une piste, mais il faudrait nommer les onglets de 1 à 12 au lieu de janvier, février etc...

ce serait jouable pour toi ?

Amicalement

Claude

bonsoir claude

Oui il y a une recap par equipe, pour moi cela ne pose pas de probleme de renommer les mois de 1 à 12,

merci pour ton aide

Bonsoir

Claude, c'est jouable comme ça aussi, mais, comme dit notre ami, "un peu plus compliqué.

La Formule

=INDIRECT(TEXTE(MOIS($C$3);"mmmm")&"!D5:M1192")

est nommée Plage

Formules Matricielles. En C7

=DECALER(INDIRECT(TEXTE(MOIS($C$3);"mmmm")&"!"&ADRESSE(MIN(SI(Plage=$C$3;LIGNE(Plage)));MIN(SI(Plage=$C$3;COLONNE(Plage)))));DROITE(STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;NBCAR(CELLULE("nomfichier";$A$1)));2)*3;)

en C8

=DECALER(INDIRECT(TEXTE(MOIS($C$3);"mmmm")&"!"&ADRESSE(MIN(SI(Plage=$C$3;LIGNE(Plage)));MIN(SI(Plage=$C$3;COLONNE(Plage)))));DROITE(STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;NBCAR(CELLULE("nomfichier";$A$1)));2)*3+2;)

en C9

=DECALER(INDIRECT(TEXTE(MOIS($C$3);"mmmm")&"!"&ADRESSE(MIN(SI(Plage=$C$3;LIGNE(Plage)));MIN(SI(Plage=$C$3;COLONNE(Plage)))));DROITE(STXT(CELLULE("nomfichier";$A$1);TROUVE("]";CELLULE("nomfichier";$A$1))+1;NBCAR(CELLULE("nomfichier";$A$1)));2)*3+4;)

Cordialement

merci amadeus je vais essayer de m'en sortir avec ça

dans la formule tu indique "nom du fichier" c'est bien le nom du fichier excel et non le nom de la feuille?

merci de ton aide

-- 01 Juin 2010, 19:35 --

cela serait_il possible de me renvoyer le fichier avec les formules car je vois pas comment nommer "en plage"

merci car comme je m'en doutais c'est assez compliqué du moins par rapport a mon niveau sur excel

Re bonjour

Utilise de préférence la seconde feuille de ce fichier, avec des formules plus simples. (tout est relatif..)

Cordialement

28indirect.zip (13.64 Ko)

MERCI AMADEUS ton aide m'est precieuse

re, Salut Amadéus,

ma petite macro quotidienne

Sub cherche()
Dim i%, J%, k%, Sh$
'Macro par Claude Dubois pour "miens59" Excel-Pratique le 01/06/10
    Sh = Month(Range("c3"))
    Range("c7:c50").ClearContents

    For i = 4 To 12 Step 2 '--- cherche la bonne colonne
        Sheets(Sh).Columns(i).Name = "Col"
        Range("o1") = "=MATCH(c3,Col,0)"
        If Not IsError(Range("o1")) Then
            With Sheets(Sh) '--- Mois
                k = Range("o1") + 2
                For J = 0 To 7 '--- boucle les lignes du jour
                    Range("c65536").End(xlUp)(2) = Sheets(Sh).Cells(k + J, i)
                Next J
            End With
                Exit Sub
        End If
    Next i
End Sub

Seul hic, çà ne trouvera pas les jours de décembre dans la feuille janvier, ou alors ... !

Amicalement

Claude

12miens59-date.zip (21.73 Ko)

Bonsoir Claude

Seul hic, çà ne trouvera pas les jours de décembre dans la feuille janvier, ou alors ... !

Peut-être en passant par les Nos de semaines. Ce doit être faisable, mais là, ça risque de se compliquer un peu plus.

Amicalement

re Amadéus,

Avec les jours de décembre + N° d'équipe

une seule récap pour tout

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i%, J%, k%, Sh$, Eq As Byte
'Macro par Claude Dubois pour "miens59" Excel-Pratique le 01/06/10

    If Not Application.Intersect(Target, Range("c3,c5")) Is Nothing Then
            Application.ScreenUpdating = False
            Range("c7:c50").ClearContents

            '--- Contrôle jours décembre ---
            If Month(Range("c3")) = 12 Then
                Sh = 1
            Else
                Sh = Month(Range("c3"))
            End If
            '--- Contrôle N° équipe ---
            Eq = Range("c5")

        For i = 4 To 12 Step 2 '--- cherche la bonne colonne
            Sheets(Sh).Columns(i).Name = "Col"
            Range("o1") = "=MATCH(c3,Col,0)"

            If Not IsError(Range("o1")) Then
                With Sheets(Sh) '--- Mois
                    If Eq = 1 Then k = Range("o1") + 1 '--- équipe
                    If Eq > 1 Then k = Range("o1") + 1 + (Eq - 1) * 6 '--- équipe

                    For J = 1 To 6 '--- boucle les lignes du jour
                        Range("c65536").End(xlUp)(2) = Sheets(Sh).Cells(k + J, i)
                    Next J
                End With
                Exit Sub
            End If
        Next i
    End If
End Sub

à demain

Claude

17miens59-date2.zip (24.04 Ko)

pourquoi dans la formule indirect on ecrit "mmmm", a chaque fois cela correspond à janvier alors que je saisi une date en mai du coup cela ne fonctionne pas

merci de votre aide

Bonjour à tous,

Et mon dernier code, il sent le pâté ??

Si ton problème n'est pas résolu, retire la flèche verte !

Bonne journée

Claude

BONJOUR A TOUS

amadeus j'ai encore deux questions a te poser

1) pourquoi quand je tape par exemple texte (12,"mmmm") j'obtient toujours janvier ce qui fait que la formule que tu m'as crée ne fonctionne pas de fevrier à décembre

2) pourquoi tu utilises deux plages differentes ? la plage 2 ne suffit pas?

en recopiant tes formules dans mon tableau originale j'obtient tjs #valeur, apparement c'est au moment de l'adresse ou il ecrit 0=40222 ( là c'est un exemple) j'ai l'impression qu'il n'arrive a trouver la date dans la plage peut tu m'eclairer?

pour claude je suis desolé mais les macros et moi ça fait deux... merci pour ton aide

-- 02 Juin 2010, 19:58 --

sur un autre pc la fonction texte marche tres bien c'est du à excel 2007 ? ou alors j'ai une mauvaise option d'enregistrer?

Bonsoir

Désolé, je n'étais pas là de la journée.

amadeus j'ai encore deux questions a te poser

1) pourquoi quand je tape par exemple texte (12,"mmmm") j'obtient toujours janvier ce qui fait que la formule que tu m'as crée ne fonctionne pas de fevrier à décembre

Exact, elle marche pour janvier, mais c'est une étourderie de ma part

La bonne formule est

=TEXTE($C3;"mmmm")

2) pourquoi tu utilises deux plages differentes ? la plage 2 ne suffit pas?

en recopiant tes formules dans mon tableau originale j'obtient tjs #valeur, apparement c'est au moment de l'adresse ou il ecrit 0=40222 ( là c'est un exemple) j'ai l'impression qu'il n'arrive a trouver la date dans la plage peut tu m'eclairer?

Parce que j'ai changé le nom de l'onglet

Pour recap equipe 1, le nom Plage fait référence à

=INDIRECT(TEXTE('recap equipe 1'!$C$3;"mmmm")&"!D5:M1192")

et sur le nouvel onglet que j'ai nommé recap equipes, le nom Plage2 fait référence à

=INDIRECT(TEXTE('recap equipes'!$C$3;"mmmm")&"!D5:M1192")

Chaque formule s'adressant à un onglet différent

Cordialement

17indirect.zip (17.23 Ko)

je dois donc utiliser les 2 plages? parce que dans ta formule tu utilise les deux

-- 02 Juin 2010, 23:02 --

amadeux dans l'ongler recap equipes en C7 ta formule utilise plage et plage 2. Comme tu m'a suggere de n'utiliser que l'onget reccap equipe moi je n'ai utiliser que celui là l'autre je l'ai supprimer

-- 02 Juin 2010, 23:05 --

j'ai beau modifier la formule il m'ecrit tjs janvier... je comprends pas pourquoi

Bonjour

Bon, un petit coup de pouce pour bien saisir, avec une feuille janvier et une feuille février

Cordialement

21indirect.zip (14.77 Ko)

merci amadeus derniere question comment se fait la relation entre le menu deroulant et la formule? Comment savoir quelles cellules correspondent a l´equipe1

Rechercher des sujets similaires à "recuperer donnees saisissant date"