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 :

Aide pour un code VBA permettant d'automatiser la date de saisie [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2021
    Messages : 2
    Par défaut Aide pour un code VBA permettant d'automatiser la date de saisie
    Bonjour,

    Je sollicite votre aide pour automatiser la date de saisie de données dans ma feuille de calcul.

    La feuille comporte une colonne "Q" nommé "Statut" ou on peut choisir dans une liste déroulante "Terminé" ou "Envoyé"
    La colonne suivante (R) est nommé date d’envoie. J'aimerais que lorsqu' on sélection "Envoyé" dans la colonne "Q", la date du jour de la sélection s'affiche automatiquement dans la colonne "R".

    J'ai déjà essayé la fonction aujourd'hui() mais la date s'actualise ce qui pose problème. J'ai aussi essayé avec le code BVA ci-dessous. Le code a failli marché mais un message d'erreur de type "méthode _default de l'objet range a échoué" et le classeur se ferme ensuite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    For i = 8 To 2000
        if cells(i, "Q").Value="Envoyé" then Cells (i, "R")=Date
     
        Cells(i, "R").NumberFormat = "m/d/yyyy"
     
    Next
    Range("R:R").EntireColumn.AutoFit
     
    End Sub
    Merci pour votre aide

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

    Essayez :
    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 Target As Range)
     
       If Target.Count > 1 Then Exit Sub
     
       If Not Application.Intersect(Target, Range("Q8:Q2000")) Is Nothing Then
          If Target = "Envoyé" Then Target.Offset(0, 1).Value = Format(Date, "dd/mm/yyyy")
       End If
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Janvier 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Janvier 2021
    Messages : 2
    Par défaut
    Merci beaucoup Eric. Ton code fonctionne ! Je te remercie.

  4. #4
    Candidat au Club
    Femme Profil pro
    technicienne de laboratoire médical
    Inscrit en
    Janvier 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 48
    Localisation : Sénégal

    Informations professionnelles :
    Activité : technicienne de laboratoire médical
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2021
    Messages : 2
    Par défaut date automatique j'utilise vba.date
    Citation Envoyé par DavsH Voir le message
    Bonjour,

    Je sollicite votre aide pour automatiser la date de saisie de données dans ma feuille de calcul.

    La feuille comporte une colonne "Q" nommé "Statut" ou on peut choisir dans une liste déroulante "Terminé" ou "Envoyé"
    La colonne suivante (R) est nommé date d’envoie. J'aimerais que lorsqu' on sélection "Envoyé" dans la colonne "Q", la date du jour de la sélection s'affiche automatiquement dans la colonne "R".

    J'ai déjà essayé la fonction aujourd'hui() mais la date s'actualise ce qui pose problème. J'ai aussi essayé avec le code BVA ci-dessous. Le code a failli marché mais un message d'erreur de type "méthode _default de l'objet range a échoué" et le classeur se ferme ensuite.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Integer
    For i = 8 To 2000
        if cells(i, "Q").Value="Envoyé" then Cells (i, "R")=vba.date
     
     
     
     
    Next
    Range("R:R").EntireColumn.AutoFit
     
    End Sub
    Merci pour votre aide

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

Discussions similaires

  1. [XL-2010] Aide pour optimisation code VBA
    Par adelas93 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/11/2014, 13h56
  2. Aide pour un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/10/2013, 13h46
  3. [XL-2007] Besoin d'aide pour création code VBA
    Par francky62000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/01/2012, 22h51
  4. Aide pour un code VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/07/2008, 10h09
  5. Aide pour un code Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2007, 16h03

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