IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

DoubleClick = Heure système arrondie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 32
    Par défaut DoubleClick = Heure système arrondie
    Bonjour,
    J'utilise actuellement ceci pour la saisie de l'heure par double click,
    Mais je voudrais qu'en plus ça arrondisse l'heure à l'inférieure ou supérieur selon condition

    Ex: En colonne B Heure inférieure à 07:30 ...... saisie 07:30
    En colonne C Heure supérieure à 12:00 ..... saisie 12:00

    Merci à vous de votre aide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        ActiveSheet.Unprotect ("...")
        Cancel = True
        Target.Value = Time
        Target.Interior.ColorIndex = 34
        Target.Locked = True
        ActiveSheet.Protect ("...")
    For Each w In Application.Workbooks
    w.Save
    Next w
    Application.CommandBars("Ply").Enabled = True
    Application.Quit
    End Sub

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Quelles doivent être les règles exactes d'arrondi ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 32
    Par défaut
    J'ai mis en place un pointage d'heures par double click qui prend "Time"
    Je voudrais que dans la colonne A, au moment du double click, si l'heure système est inférieure à 07:30, ça remplisse en fait 07:30, si supérieur à 07:30 que ca remplisse l'heure réelle système, et que,
    Pour la colonne B, si l'heure système au moment du double click est supérieure à 12:00, que ça affiche 12:00 et que ça affiche l'heure réelle système si c'est inférieur.

  4. #4
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,

    remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    'Colonne A : si avant 7:30 on met 7:30
    If Target.Column = 1 Then
       If Time < TimeSerial(7,30,0) Then
          Target.Value = TimeSerial(7,30,0)
       Else
          Target.Value = Time
       End If
    Else
       'Colonne B : si après 12:00 on met 12:00
       If Target.Column = 2 Then
          If Time > TimeSerial(12,0,0) Then
             Target.Value = TimeSerial(12,0,0)
          Else
             Target.Value = Time
          End If
       'Autres colonnes
       Else
          Target.Value = Time
       End If
    End If

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 32
    Par défaut
    J'ai rajouté mes 2 dernières colonnes comme ton code, mais ça ne fonctionne pas avec ce que j'ai rajouté. Si tu trouves la solution je n'ai plus rien à faire et je te dis un grand merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        ActiveSheet.Unprotect ("...")
        [S]Cancel = True
     
        'Colonne A : si avant 7:30 on met 7:30
    If Target.Column = 1 Then
       If Time < TimeSerial(7, 30, 0) Then
          Target.Value = TimeSerial(7, 30, 0)
       Else
          Target.Value = Time
       End If
    Else
       'Colonne B : si après 12:00 on met 12:00
       If Target.Column = 2 Then
          If Time > TimeSerial(12, 0, 0) Then
             Target.Value = TimeSerial(12, 0, 0)
          Else
             Target.Value = Time
          End If
    Else
       'Colonne C : si avant 13:30 on met 13:30
       If Target.Column = 3 Then
          If Time < TimeSerial(13, 30, 0) Then
             Target.Value = TimeSerial(13, 30, 0)
          Else
             Target.Value = Time
          End If
    Else
       'Colonne D : si après 18:00 on met 18:00
       If Target.Column = 4 Then
          If Time > TimeSerial(18, 0, 0) Then
             Target.Value = TimeSerial(18, 0, 0)
          Else
             Target.Value = Time
          End If
       'Autres colonnes
       Else
          Target.Value = Time
       End If
    End If
     
        Target.Interior.ColorIndex = 34
        Target.Locked = True
        ActiveSheet.Protect ("...")
    For Each w In Application.Workbooks
    w.Save
    Next w
    Application.CommandBars("Ply").Enabled = True
    Application.Quit
    End Sub

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 32
    Par défaut
    Je viens de trouver le pourquoi du comment.
    Tout fonctionne.
    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/06/2006, 09h47
  2. Réponses: 2
    Dernier message: 19/05/2006, 13h48
  3. récupérer la date et heure système
    Par Rnx69 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/06/2005, 15h43
  4. [Kylix] L'heure système ????
    Par Oyoboy dans le forum EDI
    Réponses: 3
    Dernier message: 12/05/2004, 08h52
  5. Comment changer l'heure système ?
    Par Lung dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 26/04/2004, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo