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 :

macro pour figer une cellule avec date et heure


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 24
    Points
    24
    Par défaut macro pour figer une cellule avec date et heure
    Bonjour,

    j'ai une feuille excel dans laquelle des opérateurs viennent renseigner une date et une heure précise à laquelle ils font une opération.

    pour éviter les mauvaises saisies, je voulais faire une macro ou la date et l'heure s'inscrit toute seule en fonction de la cellule de la colonne précédente est vide ou pas

    Nom : Sans titre.png
Affichages : 2522
Taille : 15,0 Ko

    j'ai commencé à écrire un bout de code (mais je suis débutante) , et du coup a chaque nouvel enregistrement les dates déjà inscrites se mettent à jour et changent d'heure, car la j'ai utilisé la formule now() et du coup tout ce mets a jour. il faudrait qu'une fois inscrite la formule disparaisse mais que la valeur reste.



    Ce que je souhaite :

    - que l'opérateur, lorsqu'il saisi son nom en cellule A, la date et heure s'incrivent toutes seules dans la cellule B

    - Que la date et heure ne change pas après l'enregistrement du fichier (du style copie/colle valeur),


    je vous remercie pour votre aide

    bonne soirée à vous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par karlgina Voir le message
    Bonjour,


    A placer dans le module de votre onglet de saisie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
         If Target.Count > 1 Then Exit Sub
     
         If Not Intersect(Target, Columns(1)) Is Nothing Then
     
            If Target.Offset(0, 1) = "" Then
               Target.Offset(0, 1) = Now()
            End If
     
         End If
     
    End Sub

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 29
    Points : 30
    Points
    30
    Par défaut
    - Que la date et heure ne change pas après l'enregistrement du fichier (du style copie/colle valeur)
    Il faudrait manuellement faire le unlock the toutes les cellules, proteger la feuille et puis mettre la propriete de la cellule .Locked=True a la fin du code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    If Target.Offset(0, 1) = "" Then
          Target.Offset(0, 1) = Now()
          Me.Unprotect
          Target.Offset(0, 1).Locked = True
          Me.Protect
    End If

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    merci beaucoup,

    en ce qui concerne la protection des cellules, j'y ai pensé mais les opérateurs ont parfois besoin de modifier à la main.

    ça fera peut-être parti d'un projet un peu plus complexe.

    une petite chose encore ,

    est ce qu'il est possible de calculer automatiquement via la macro l'écart entre en heure entre une cellule date entrée et une cellule date sortie si cette dernière est renseignée.

    je vous ai mis ce que je souhaite dans un fichier.


    merci encore pour votre aide
    Fichiers attachés Fichiers attachés

  5. #5
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Salut,

    Par formule

    =TEXTE(D2-B2;"hh:mm:ss")
    Il faut savoir qu'une date seule est un entier.
    Si des heures, minutes, secondes viennent s'y greffer, alors ces nombres sont avec virgule.
    Les heures, minutes, secondes reviennent ainsi au fractionnement d'une journée.

    A titre d'information, tu peux consulter le tutoriel de Silkyroad et la FAQ à ce sujet .

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    en fait je ne veux pas de formule a proprement dit dans mon tableau, car les opérateurs arrivent toujours à me la foutre en l'air

    donc je préfére une macro

    je vais regarder le tuto

    merci encore

  7. #7
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Karlgina,

    en fait je ne veux pas de formule a proprement dit dans mon tableau, car les opérateurs arrivent toujours à me la foutre en l'air
    1 - Sur Excel, tu peux protéger ta feuille.
    2 - Par VBA, il te suffira d'affecter à la valeur le format texte de la différence des dates.

    Bonne lecture et bonne continuation.

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Points : 24
    Points
    24
    Par défaut
    bonjour,

    eh bien je dois être complétement nulle, je n'y arrive pas. je suis plus que débutante.
    J'ai lu le tuto, mais je n'ai pas encore assez de connaissances.

    je ne vois pas comment déclarer mes colonnes ou cellules pour que ça se fasse sur toute la colonne bref !!!!
    J'imagine que je dois utiliser ce que tu m'as donné, mais ça me mets en erreur à chaque fois. j'ai essayé également avec Datediff mais je ne sais pas l'articuler.


    vous pouvez pas me dire comment l'écrire svp.

    merci

  9. #9
    Expert éminent
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Points : 7 149
    Points
    7 149
    Billets dans le blog
    7
    Par défaut
    Bonjour Karlgina,

    Tout simplement.
    J'ai mis en commentaire la ligne concernant le collage des valeurs afin que tu constates la formulation.
    Tu peux la rétablir en code lors d'un second essai.
    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
    Option Explicit
     
    Public Sub calcul_difheures()
     
    Dim dernl As Long
    Const laformule As String = "=TEXT(D2-B2,""hh:mm:ss"")"
     
    'Neutralisation des évènements (Change,...)
    Application.EnableEvents = False
     
    With Worksheets("feuil1")
            'Recherche de le dernière ligne à informer
            dernl = .Cells(.Rows.Count, 1).End(xlUp).Row
            With .Range("E2:E" & dernl)
                    'Formulation
                    .Formula = laformule
                    'Collage de valeurs en lieu et place de la formule
                    '.Value = .Value
            End With
    End With
     
    'Libération des évènements
    Application.EnableEvents = True
     
    End Sub
    eh bien je dois être complétement nulle
    Mais non! Pour beaucoup, nous l'avons tous été.

    En pièce jointe, quelques liens pour une documentation de base.
    Fichiers attachés Fichiers attachés

    Bien Cordialement.

    Marcel

    Dernier billet:
    Suppression des doublons d'un tableau structuré, gestion d'un array

    Pas de messagerie personnelle pour vos questions, s'il vous plaît. La réponse peut servir aux autres membres. Merci.


  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,


    A placer dans le module de votre onglet de saisie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
         If Target.Count > 1 Then Exit Sub
     
         If Not Intersect(Target, Columns(1)) Is Nothing Then
     
            If Target.Offset(0, 1) = "" Then
               Target.Offset(0, 1) = Now()
            End If
     
         End If
     
    End Sub
    et qu'est ce qui empeche de surécrire sur existant hein!!!???? manuellement ou par VBA!!!!
    Nom : demo3.gif
Affichages : 2234
Taille : 96,8 Ko

    si il n'y a pas de memo ou protection c'est pas possible

    pour le memo un tableau fait l'affaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim tablo As Variant
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Count > 1 Or Target.Column > 1 Then Exit Sub
        If IsEmpty(tablo) Then tablo = Range("A:B")
        If tablo(Target.Row, 1) <> "" And tablo(Target.Row, 1) <> Target.Value Then Target.Value = tablo(Target.Row, 1) Else Target.Offset(, 1) = Now()
        tablo = Range("A:B")
    End Sub
    Nom : demo3.gif
Affichages : 2213
Taille : 306,5 Ko


    et encore il y a des failles


    si on veut vraiment pas pouvoir bousiller ces deux colonnes
    comme ceci c'est top
    on ne peut pas modifier manu ou par vba les deux colonnes
    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
    Dim tablo As Variant    'variable tablo globale!!!!
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Count > 1 Then Exit Sub    ' si il y a plus d'une cellule on sort (CA POURRAIT ETRE LA SEULE FAILLE!!!! )
    '
        If Target.Column = 1 Then    ' si on est dans la colonne 1
    '
            If IsEmpty(tablo) Then tablo = Range("A:B")    'si tablo n'a pas encore été dimentionné on dimentionne provisoirement a deux colonnes entieres
    '
    'si l'item tablo en colonne 1 meme ligne que target  n'est pas vide et different de target alors...
            If tablo(Target.Row, 1) <> "" And tablo(Target.Row, 1) <> Target.Value Then
                '
                Target.Value = tablo(Target.Row, 1)    'on le remet
                '
            Else    'autrement
                '
                Target.Offset(, 1) = Now()    'on met la date
                '
            End If    'fin de control pour target en colonne 1
            '
        ElseIf Target.Column = 2 Then    ' si target est en colonne 2
            '
            If tablo(Target.Row, 2) <> "" Then Target = tablo(Target.Row, 2)    'on remet la date du tablo colonne 2 meme ligne que targetsi l'item du tablo n'est pas vide
            '
        End If    'fin de control target en colonne 2
        '
        tablo = Range("A1:B" & Cells(Rows.Count, 1).End(xlUp).Row + 1)    ' on rememorise tablo mais cette fois ci a la dimmention de la plage utilisée en "A:B" car on a au moins une ligne de rempli
        '
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 755
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 755
    Points : 28 606
    Points
    28 606
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Juste pour information.
    Si tu es débutant en VBA, pourquoi ne profites-tu pas des facilités d'excel et de ces raccourcis
    Tu mets la date et l'heure dans deux colonnes séparées il suffit alors d'expliquer aux utilisateurs deux petits raccourcis Ctrl + ; (pour insérer la date du jour) et Ctrl + : (pour insérer l'heure)
    Si tu souhaites ensuite avoir la date et l'heure sur une même colonne, une simple addition des deux cellules fera l'affaire.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    la memorisation par vba dans une quelconque variable peut etre une faille en elle meme
    en effet si dans une autre feuille ou module une erreur est declenché la memoire est vidé
    il ne reste plus que la memorisation dans un object qui ne sera pas detruit par une erreur vba
    les commentaires peuvent etre une des solutions


    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
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Count > 1 Or Target.Column > 2 Then: Exit Sub
        If Target.Column <= 2 Then
            Application.DisplayCommentIndicator = xlNoIndicator
            If Target.Comment Is Nothing Then
                If Target.Value <> "" Then
                    With Target: .AddComment: .Comment.Text Text:=Target.Text: .Comment.Visible = False: .Comment.Shape.Width = 0: .Comment.Shape.Height = 0
                        If .Column = 1 Then .Offset(, 1).Value = Now()
                    End With
                End If
            Else
                Target.Value = Format(Target.Comment.Text, Target.Comment.Text)
            End If
        End If
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.DisplayCommentIndicator = IIf(Target.Column > 2, True, False)
    End Sub
    une fois qu'une cellule en colonne 1 ou 2 a son commentaire c'est fini tu ne peut plus la modifier
    je les reduit a la taille de zero et l'indicateur de commentaire est inhibé si la selection se trouve en colonne 1,2 pour la commodité visuelle
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Patrick bonjour
    On peut toujours modifier le commentaire.

    On peut aussi modifier la cellule par copier/ coller
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour mercatog
    "copier coller":je l'ai pas vu venir celle la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Application.DisplayCommentIndicator = IIf(Target.Column > 2, True, False)
         If Target.Column <= 2 Then CreateObject("htmlfile").parentwindow.clipboardData.clearData ("Text")
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  15. #15
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    "copier coller":je l'ai pas vu venir celle la
    Pas bien grave puisque ça n'a rien à voir avec la question. Tu ne te serais pas trompé de fil ;-)
    Attend que ce soit demandé.

    Pour les raccourcis clavier on peut se passer de la formule en faisant Ctrl+; et Ctrl+: séparés par un espace dans la même cellule.
    eric

  16. #16
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour eriiic
    Pas bien grave puisque ça n'a rien à voir avec la question. Tu ne te serais pas trompé de fil ;-)
    ben si justement

    comment veux tu figer une valeur dans une cellule si tu peux faire un copier/coller dedans
    j'ai tres bien compris la demande
    inscription en "A" et date en "B" puis une fois fait la ligne doit etre inmodifiable sinon la elle n'est pas figée
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  17. #17
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    ...j'ai utilisé la formule now() ....
    il faudrait qu'une fois inscrite la formule disparaisse mais que la valeur reste.
    Ce que je souhaite :
    - que l'opérateur, lorsqu'il saisi son nom en cellule A, la date et heure s'incrivent toutes seules dans la cellule B
    - Que la date et heure ne change pas après l'enregistrement du fichier (du style copie/colle valeur)
    Pour moi c'est clair. Elle veut juste que ça ne soit pas volatile comme =Now() et c'est tout, comme le fait la 1ère proposition.
    Elle n'a pas demandé que ce soit non modifiable, ni évoqué un quelconque contrôle sur le nom. Plus le droit de corriger une éventuelle erreur de frappe ? D'autant plus qu'il y a plus simple pour protéger des cellules.

    puis une fois fait la ligne doit etre inmodifiable sinon la elle n'est pas figée
    Pas lu ça dans la demande.
    eric

  18. #18
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par eriiic Voir le message
    Pour moi c'est clair. Elle veut juste que ça ne soit pas volatile comme =Now() et c'est tout, comme le fait la 1ère proposition.
    Elle n'a pas demandé que ce soit non modifiable, ni évoqué un quelconque contrôle sur le nom. Plus le droit de corriger une éventuelle erreur de frappe ? D'autant plus qu'il y a plus simple pour protéger des cellules.


    Pas lu ça dans la demande.
    eric
    tout d'abords
    Nom : Capture.JPG
Affichages : 2119
Taille : 42,3 Ko
    et puis combien meme tu aurais raison sur le fond quand tu participe a une discussion et que tu vois un un probleme qui n'a pas été envisagés n'est il pas mieux d'en faire part au demandeur ?????????

    ""if target.offset(,1)="" then target.offset(,1)=now()"" n'empeche pas la modification de la colonne "A" qui est liée
    te rends tu compte du bordel que ca peut foutre !!???
    surtout que d'apres ce que je comprends c'est un pointage d'individus

    Ahhh..!!! la gueule du pointage
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Points : 350
    Points
    350
    Par défaut
    Bonjour

    - que l'opérateur, lorsqu'il saisit son nom en cellule A, la date et l’heure s'inscrivent toutes seules dans la cellule B
    - Que la date et heure ne change pas après …
    Un exemple* correspondant à ce que j’ai relevé dans la demande #1 avec une protection des cellules Date/Heure en colonne B, D et E
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_Change(ByVal R As Range)
      If Not Intersect(R, Union(Columns(1), Columns(3))) Is Nothing And R.Count = 1 Then
        Me.Unprotect
        R(1, 2) = Now
        If Cells(R.Row, 4) <> "" And Cells(R.Row, 2) <> "" Then
          Cells(R.Row, 5) = CDate(Cells(R.Row, 4)) - CDate(Cells(R.Row, 2))
        End If
        Me.Protect
      End If
    End Sub
    *dans la seconde feuille, images pour la protection mais il faut quand même savoir quelles saisies sont autorisées ou pas dans le classeur !
    Fichiers attachés Fichiers attachés

  20. #20
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Patrick, lire ta définition m'a figé 2s, pas plus.
    Figé ne veut pas dire ad vitam aeternam. Mais bon, on s'égare :-)

Discussions similaires

  1. [XL-2016] Macro pour Copier une cellule avec mise en forme
    Par ggerphagnon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2017, 22h08
  2. [XL-2010] Macro pour écrire une formule avec des variables (cellule)
    Par xuan203 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2017, 10h29
  3. [XL-2003] macro pour modifier une cellule déverouillée par mot de passe
    Par jayroom dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/04/2012, 11h39
  4. [XL-2003] macro pour remplir une cellule en fonction d'une autre
    Par kamilane dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/07/2010, 15h40
  5. [XL-2003] Macro pour copier une cellule d'un classeur à un autre sous condition
    Par mairiemeudon dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 14/06/2010, 15h28

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