Affichage d'heures d'ouverture excel

Résolu
Bonjour,

Voici un code qui affiche l'heure d'ouverture et de fermeture d'un classeur excel, dans une nouvelle ligne :

Private Sub Workbook_Open()

Sheets("Feuil4").Rows("2:2").Insert
Sheets("Feuil4").Cells(2, 1) = Now
Sheets("Feuil4").Cells(2, 2) = Time
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Not IsEmpty(Sheets("Feuil4").Cells(2, 1)) Then
Sheets("Feuil4").Cells(2, 3) = Time
Sheets("Feuil4").Cells(2, 4) = Sheets("Feuil4")._
Cells(2, 3).Value - Sheets("Feuil4").Cells(2, 2).Value
End If
End Sub

Les heures d'ouverture et de fermeture s'inscrivent a la suite, en créant et en inscerant une nouvelle ligne dans ma feuille.
Je voudrais quelles s'inscrive à la ligne existante dans la cellule vide suivante sans créer une nouvelle ligne.

Si une âme charitable peut me donner un coup de pouce, je l'en remercie du fond du coeur.

Merci et à bientôt.
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. Bonsoir,
    Merci, et pense de mettre le statut : Résolu.
    Bonne fin de soirée.
    0
    1. Merci beaucoup pour tes explications, je suis arrivé grace à ton aide à ce que je voulais.
      Merci encore.
      0
      1. Bonsoir,
        Je pense que c'est la bonne !
        Private Sub Workbook_Open()
        ' Version aujourd'hui dans colonne 1 et données en colonnes
            Range(Cells(2, 1), Cells(5, 1)).Insert
            Sheets("Feuil4").Cells(2, 1) = Now
            Sheets("Feuil4").Cells(3, 1) = Time
        End Sub
        
        Private Sub Workbook_BeforeClose(Cancel As Boolean)
        ' Version aujourd'hui dans colonne 1 et données en colonnes
            If Not IsEmpty(Sheets("Feuil4").Cells(2, 1)) Then
                Sheets("Feuil4").Cells(4, 1) = Time
                Sheets("Feuil4").Cells(5, 1) = Sheets("Feuil4"). _
                Cells(4, 1).Value - Sheets("Feuil4").Cells(3, 1).Value
                Sheets("Feuil4").Cells(5, 1).NumberFormat = "[$-F400]h:mm:ss AM/PM"
            End If
        End Sub


        Cela vous convient-il ?
        0
        1. Bonsoir,
          Vos 2 formules affichent l'heure d'ouverture, fermeture et temps écoulé sur une ligne.
          La fois suivante les indications sont insérées en première ligne (la ligne 2) et ainsi de suite, donc l'une sous l'autre.
          Ma proposition le fait sur une ligne côte à côte mais dans l'ordre des 1,2,3.....etc.
          Que voulez-vous exactement
          ?
          0
          1. Oui,
            merci beaucoup d'avoir répondu à mon problème.

            Seul truc, comment afficher ses heures dans des cellules inferieures plutot que à coté.
            Merci encore 1000 fois.
            0
            1. Bonsoir,
              Ci après un petit code:

              Private Sub Workbook_Open()
                  col = WorksheetFunction.CountA(Sheets("Feuil4").Rows("2:2"))
                  Sheets("Feuil4").Cells(2, col + 1) = Now
                  Sheets("Feuil4").Cells(2, col + 2) = Time
              End Sub
              
              Private Sub Workbook_BeforeClose(Cancel As Boolean)
              If Not IsEmpty(Sheets("Feuil4").Cells(2, 1)) Then
                  col = WorksheetFunction.CountA(Sheets("Feuil4").Rows("2:2"))
                  Sheets("Feuil4").Cells(2, col + 1) = Time
                  Sheets("Feuil4").Cells(2, col + 2) = Sheets("Feuil4").Cells(2, col + 1).Value - Sheets("Feuil4").Cells(2, col + 0).Value
                  Sheets("Feuil4").Cells(2, col + 2).NumberFormat = "[$-F400]h:mm:ss AM/PM"
              End If
              End Sub
              

              Est-ce que cela vous convient ?
              0
              1. Bonjour,
                Est-ce que les indications de la première ouverture/fermeture doivent être conservées (et ainsi de suite) ?
                0