Sortir des données

1

Bonjour, Dans une même colonne, chaque cellule comporte la date et l'heure. Je souhaiterais sortir l'information dans une cellule à part du même jour, même mois et même heure.

Comment je peux faire svp ?

    Posté le 30 janvier 2023, 09:00
    Répondre
    • Bonjour, J'ai rien compris – 30 janvier 2023, 09:11
    0

    erreur ; post à supprimer.

    rhodo Posté le 30 janvier 2023, 09:42
    par rhodo
    0

    Bonjour,

    je te propose ce fichier : https://www.cjoint.com/c/MBboMuqNjM0

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    voici quelques exemples :

    * en E3, saisis 4/1 9:25 ➯ en E3 : 04/01/2023 09:25 et en F3 : C.

    * en E3, saisis 6/1 9:0 ➯ en E3 : 06/01/2023 09:00 et en F3 : E.

    * en E3, saisis 2/1 9:30 ➯ en E3 : 02/01/2023 09:30 et en F3 : A.

    * en E3, saisis 9/1 8:05 ➯ en E3 : 09/01/2023 08:05 et en F3 : H.

    * en E3, saisis 7/1 10:0 ➯ en E3 : 07/01/2023 10:00 et en F3 : F.

    * en E3, saisis 11/1 8:0 ➯ en E3 : 11/01/2023 08:00 et en F3 : J.

    * en E3, saisis 5/1 7:0 ➯ en E3 : 05/01/2023 07:00 et en F3 : rien,
    car l'info D est pour le 05/01/2023 à 10:30.

    * en E3, saisis abc ➯ en F3 : ? car abc n'est pas une date valide.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    formule en F3 : =SI(E3="";"";SIERREUR(GetInfoX(E3);"?"))

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    code VBA de Module1 :

    Option Explicit

    Function GetInfoX(DH As Date) As String
      Dim n&, i&
      n = Cells(Rows.Count, 2).End(3).Row: If n = 2 Then Exit Function
      For i = 3 To n
        If Cells(i, 2) = DH Then GetInfoX = Cells(i, 3): Exit Function
      Next i
    End Function

    rhodo

    rhodo Posté le 1 février 2023, 16:04
    par rhodo
    0

    Bonjour,

    Lis d'abord mon post d'hier à 16:04.

    je propose aussi ce 2ème fichier : https://www.cjoint.com/c/MBcf3wDEFg0
    (ce n'est pas en remplacement du 1er fichier mais en complément).

    dans le 1er fichier, tout est sur la même feuille ; avec cette 2ème version,
    c'est sur 2 feuilles différentes :

    Feuil1 : tableau initial en B2:C12 ; Feuil2 : 2ème tableau en B2:C3.

    Feuil2, formule en C3 : =SI(B3="";"";SIERREUR(GetInfoX(B3);"?"))

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    code VBA de Module1 :

    Option Explicit

    Function GetInfoX(DH As Date) As String
      Dim n&, i&
      With Worksheets("Feuil1")
        n = .Cells(Rows.Count, 2).End(3).Row: If n = 2 Then Exit Function
        For i = 3 To n
          If .Cells(i, 2) = DH Then GetInfoX = .Cells(i, 3): Exit Function
        Next i
      End With
    End Function

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    pour des exemples de saisies en Feuil2!B3, tu peux faire les mêmes que
    ceux décrits dans le post précédent ; ça donnera les mêmes résultats.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    remarques complémentaires (qui sont valables pour les 2 fichiers).

    ci-dessous, pour simplifier mon texte : dateg = date globale = date & heure
    alors que date = date seulement, sans l'heure.

    1) pour les données de Feuil1!B3:B12 : les dateg que tu vas saisir peuvent
    ne pas être dans l'ordre chronologique (c'est selon ce que tu choisis).

    2) pour les données de Feuil1!B3:B12 : tu peux bien sûr saisir plusieurs dateg
    dont la date est identique et dont l'heure est différente ; tu peux aussi saisir
    plusieurs dateg identiques (donc même date et même heure) ; attention :
    dans ce 2ème cas, seule l'info de la 1ère dateg sera trouvée, les infos des
    autres dateg identiques seront tout simplement ignorées ; si tu as besoin
    de trouver toutes les infos de plusieurs dateg identiques, il faudra faire
    une nouvelle version du fichier (autre code VBA).

    3) si tu ajoutes des lignes au 1er tableau de Feuil1 (sous la ligne 12,
    colonnes B et C), les infos que tu saisiras dans ces nouvelles lignes
    seront automatiquement prises en compte, sans devoir changer le
    code VBA.

    4) dans ton fichier réel, si tu utilises des cellules différentes pour
    le tableau initial et / ou pour le 2ème tableau, il faudra bien sûr
    adapter le code VBA.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    si besoin, tu peux demander une adaptation.
    à te lire pour avoir ton avis.  :)

    rhodo

    rhodo Posté le 2 février 2023, 07:51
    par rhodo

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :