Trouver la date la plus ancienne excel

Résolu
excel_debutant Messages postés 49 Statut Membre -  
excel_debutant Messages postés 49 Statut Membre -
Bonjour,

Je souhaite afficher dans les cellules D4 et E4 de la feuille2 le plus vieux Code et sa date à l'Etat Non Prêt

https://www.cjoint.com/c/DLDdsU4QsE0

Bonne fête à tous!

7 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Si tu es sur un Excel Anglophone, il serait intéressant de le signaler...

    Si oui, dire si tes dates sont pas au format nombre... =isnumber(B2) par ex
    Michel
    0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour à tous,

    il y a peut-être plus simple, mais à cette heure là, ça me suffit.
    Code :
    =INDEX(Sheet1!A2:A21;-1+MIN(SI((Sheet1!C2:C21="Non Prêt")*((--Sheet1!B2:B21)=MIN(SI(Sheet1!C2:C21="Non Prêt";--Sheet1!B2:B21;9^9)));LIGNE(Sheet1!B2:B21);9^9)))

    Date :
    =INDEX(Sheet1!B2:B21;-1+MIN(SI((Sheet1!C2:C21="Non Prêt")*((--Sheet1!B2:B21)=MIN(SI(Sheet1!C2:C21="Non Prêt";--Sheet1!B2:B21;9^9)));LIGNE(Sheet1!B2:B21);9^9)))

    tout ça à valider par CTRL+MAJ+ENTER

    cordialement
    0
  3. excel_debutant Messages postés 49 Statut Membre 1
     
    Bonjour à tous et merci pour votre retour.

    Désolé si je n'ai pas préciser la version d'Excel que j'utilse. C'est du au fait que j'utilise les versions francaise et anglaise.

    J'ai essayé les formules de JvDo mais ca me ramene une erreur. Pourrais tu voir STP.

    Merci beaucoup à tous.
    0
    1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
       
      que veux-tu que je vois si tu n'en dis pas plus?

      Ces formules fonctionnent très bien chez moi.
      0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Si oui, dire si tes dates ne sont pas au format nombre... =isnumber(B2) (
    XL anglophone si estnum(B2)
    Tu as testé ?

    C'est du au fait que j'utilise les versions francaise et anglaise. 

    BRAVO
    dans ce que tu as envoyé, c'est en quoi ?

    Fais un effort si tu veux qu'on t'aide

    Michel
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. excel_debutant Messages postés 49 Statut Membre 1
     
    Bonjour à tous et merci d'avoir pris votre temps pour repondre.

    Merci à Maurice, Michel, JvDo!

    Présentement j'utilise Excel 2007 version anglaise.

    Je peux faire cette opretaion avec une macro. Ci-dessous ce que j'ai et ca fonctionne.

    Mais je souhaite avoir le meme resultat sans macro.

    JvDO, dans mon fichier j'ai mis la formule ci-dessous dans la cellule D4 de Sheet2 et ca me ramene un message d'erreur: The formula you typed contains an error

    Code :
    =INDEX(Sheet1!A2:A21;-1+MIN(SI((Sheet1!C2:C21="Non Prêt")*((--Sheet1!B2:B21)=MIN(SI(Sheet1!C2:C21="Non Prêt";--Sheet1!B2:B21;9^9)));LIGNE(Sheet1!B2:B21);9^9)))

    Meme message pour:

    Date :
    =INDEX(Sheet1!B2:B21;-1+MIN(SI((Sheet1!C2:C21="Non Prêt")*((--Sheet1!B2:B21)=MIN(SI(Sheet1!C2:C21="Non Prêt";--Sheet1!B2:B21;9^9)));LIGNE(Sheet1!B2:B21);9^9)))

    Mon ficier d'origine est https://www.cjoint.com/c/DLDdsU4QsE0

    Merci poiur votre aide

    Sub Macro2()
    '
    ' Macro2 Macro
    '
    ' Keyboard Shortcut: Ctrl+b
    '
    Sheets("Sheet1").Select
    Rows("1:1").Select
    Selection.AutoFilter
    ActiveSheet.Range("$A$1:$D$21").AutoFilter Field:=3, Criteria1:="Non Prêt"
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort.SortFields.Add Key:=Range _
    ("B1:B21"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").AutoFilter.Sort
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    End With
    Range("B3").Select
    Selection.Copy
    Sheets("Sheet2").Select
    Range("E4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Sheets("Sheet1").Select
    Range("A3").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet2").Select
    Range("D4").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    End Sub
    0
    1. via55 Messages postés 14392 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Bonsoir

      Les formules que t'as donné JvDO fonctionnent parfaitement mais si tu es en version anglaise il faut remplacer LIGNE par ROW dans les formules (et n'oublie des les valider par CTRL+MAJ+ENTER)

      Cdlmnt
      0
  7. excel_debutant Messages postés 49 Statut Membre 1
     
    Bonjour,

    J'ai testé la formule de JvDO et ca fonctionne très. Ca repond à ma demande.

    Je vais aussi garder la macro de Maurice. ca me sera tres utile aussi.

    Je vous remercie tous et vous souhaite en avance une excéllente année 2015.

    Merci
    0
  8. Maurice
     
    Bonjour
    Pour le transfert des Non Prêt voila une macro

    Sub test()
    Feuil2.Range("D4:E" & Rows.Count).Clear
    Feuil1.Select
    Lig = 4
       For L = 2 To Cells(Rows.Count, 1).End(xlUp).Row
          If Range("C" & L).Value = "Non Prêt" Then
             Feuil2.Range("D" & Lig).Value = Range("A" & L).Value
             Feuil2.Range("E" & Lig).Value = DateValue(Range("B" & L).Value)
             Lig = Lig + 1
          End If
       Next
    End Sub
    

    A+
    Maurice
    -1