Aide sur la formule "MAINTENANT"

Résolu
babas -  
 babas -
Bonjour, j'ai programmé une macro sur excel qui fait que quand je double-clique cela met un X.
Je souhaiterais (avec une formule si possible sinon avec une macro) que quand je fais ce double-clic l'heure exacte se mette, mais le problème c'est que je veut le faire sur plusieurs lignes et quand je fait X sur la première ligne ça va, mais quand je le fait sur la deuxième, la feuille se recalcule et met les deux mêmes heures.
Je voudrais que quand je fais X sur la première ligne ça mette l'heure de maintenant, et que si je fait X sur la deuxième ligne une heure après cela ne change pas l'heure d'au-dessus.

Merci d'avance

4 réponses

  1. Gyrus Messages postés 3360 Statut Membre 526
     
    Bonjour,

    Pour permettre aux intervenants de t'aider efficacement, il est souhaitable que tu joignes un fichier à ta demande. Ce fichier doit contenir les données utiles (non confidentielles), ainsi que la macro et doit être accompagné des explications nécessaires.

    Pour joindre le fichier, tu peux utiliser https://www.cjoint.com/
    Ensuite, reviens coller ici le lien donné par le site.

    A+
    0
    1. babas
       
      Merci pour ta réponse Gyrus, voici le lien avec le document, j'ai mis des explication dedans: http://www.cjoint.com/c/EHhpaeBCaD0.
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    de ce que j'ai compris, pas possible par formule.
    Complète ta macro qu'elle mette Now à coté de ton X.

    eric
    0
    1. babas
       
      Merci pour ta réponse, je n'ai pas trop compris comment faire, si tu peut l'insérer dans le document que j'ai mis en lien (http://www.cjoint.com/c/EHhpaeBCaD0) ce serait super.
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Essaie avec ça :
      Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
          If Target.Row < 12 Then Exit Sub
          If Target.Column = 2 Or Target.Column = 5 Or Target.Column = 8 Then
              Cancel = True
              Target.Offset(, 1) = "X"
              Target.Offset(, 2) = Time
          End If
      End Sub

      Si tu recliques le temps précédent est remplacé. Tu n'as pas précisé ce que tu voulais.
      Si tu veux le préserver ajoute un test comme if Target.Offset(, 2)="" then avant les modifs.
      Et à mon avis 3 colonnes c'est trop, une seule pouvait suffire.

      eric
      0
      1. babas > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci beaucoup pour ta réponse, la macro marche bien, j'attend la réponse de Gyrus pour voir laquelle choisir.
        En tous les cas merci beaucoup de m'avoir répondu aussi rapidement.
        0
  3. Gyrus Messages postés 3360 Statut Membre 526
     
    Une proposition à tester

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

    A+
    0
    1. babas
       
      Merci pour ta réponse, la macro marche très bien, le problème c'est que quand je fais "afficher les macros", il n'y a rien pourrais-tu me la copier ?
      0
      1. Gyrus Messages postés 3360 Statut Membre 526 > babas
         
        Il ne s'agit pas d'une macro, à proprement parler.
        Il s'agit d'une procédure évènementielle Worksheet.BeforeDoubleClick qui est lancée lorsque un double clic est réalisé sur une des cellules cibles définies.
        Cette procédure se trouve dans le module de la feuille.

        Pour la visualiser, fais clic droit sur l'onglet "Raid des Lucioles" puis "Visualiser le code".

        A+
        0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Sa macro est dans le module Feuil1. Double-clic dessus pour l'afficher.
      0
  4. babas
     
    Merci a tous pour vos réponses, ça y est j'y suis arrivé.
    0