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 afficher automatiquement la date du jour dans une cellule excel [XL-2016]


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
    Administrateur de base de données
    Inscrit en
    Juin 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2021
    Messages : 16
    Par défaut Macro pour afficher automatiquement la date du jour dans une cellule excel
    Bonjour
    J'ai créé une macro pour afficher automatiquement la date du jour dans une cellule d'une colonne donnée. Mais ça ne fonctionne pas, la macro bug à un moment donné. Merci pour votre aide

    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)
    Dim i As Integer
    For i = 2 To 100
    If Cells(i, "A").Value <> "" And Cells(i, "B") = "" Then Cells(i, "B").Value =Date & " " & Time
    Cells(i, "B").NumberFormat = "m/d/yyyy"
     
    Next
    Range("B:B").EntireColumn.AutoFit
     
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    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 : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai créé une macro pour afficher automatiquement la date du jour dans une cellule d'une colonne donnée
    Ce n'est pas dans une cellule données mais bien dans une plage complète (100 lignes )

    Mais ça ne fonctionne pas, la macro bug à un moment donné
    Mais encore, quel est ce moment donné et surtout lorsque le VBA bogue, en général il envoie un message d'erreur avec un numéro ET un message assez explicite. Cela aiderait de savoir quel message est envoyé et à quel moment dans la boucle (valeur de I) cela se passe.

    Autre interrogation.
    Vous utilisez la procédure événementielle Worksheet_Change et vous ne vous préoccupez pas de son argument Target qui permet entre-autre de savoir le nombre de cellules concernées par changement grâce à sa propriété Count ou sur quelle colonne ou ligne ou les deux a eu lieu de changement.

    Un peu plus de précisions nous aidera à apporter une réponse pertinente
    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

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2021
    Messages : 16
    Par défaut
    Bonjour Philippe,
    voici le message d'erreur :

    Erreur d'exécution :
    La méthode " NumberFormat" de l'objet Range a échoué

    Merci pour votre aide

  4. #4
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,

    je ne vois rien dans le numberformat que tu nous montres qui puisse attirer les foudres d'Excel

    Comme l'a dit l'excellent Pierre Fauconnier que je salue, c'est bien d'avoir le message ET là où ça plante.

    Je soupçonne peut-être un autre code événementiel qui serait appelé en cascade ? Ou que le code qui plante n'est pas celui qui est collé ici

    À noter déjà que ton sub est appelé 2 fois : le dépôt de la date provoque un autre événement change qui relance le sub. Et si tu fais un copier/coller de 10 valeurs dans la colonne A il sera appelé 11 fois...
    Ajoute un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.EnableEvents = False
    au début du sub (et un =true) après pour traiter ça. Attention qu'en cas d'erreur il restera à false donc à terme intégrer ça dans une gestion d'erreur pour que le retour à true soit fait systématiquement

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2021
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2021
    Messages : 16
    Par défaut
    en pj le message erreur
    Merci
    c'est la ligne Cells(i, "B").NumberFormat = "m/d/yyyy" qui est en surbrillance jaune
    Images attachées Images attachées  

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    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 : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est effectivement curieux. Quelle est la valeur de la variable I ?

    Pas certain que cela vienne de là mais je constate que la ligne Cells(i, "B").NumberFormat = "m/d/yyyy" n'est pas incluse dans le SI donc le formatage se fait sur toutes les lignes. Qui a t'il dans la celleule B & i ?
    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

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

Discussions similaires

  1. [XL-2010] Macro pour changer le nom d'un chemin dans une cellule
    Par erwanlec dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2018, 15h01
  2. Dump Automatique avec date du jour dans le nom du fichier
    Par BobDesign dans le forum Import/Export
    Réponses: 1
    Dernier message: 06/02/2013, 17h28
  3. Afficher automatiquement la date du jour dans une interface
    Par Clairette29 dans le forum Interfaces Graphiques
    Réponses: 4
    Dernier message: 26/05/2008, 14h38
  4. Afficher la date du jour dans une formule
    Par Yodaf dans le forum SharePoint
    Réponses: 3
    Dernier message: 06/08/2007, 15h15
  5. inserer la date du jour dans une cellule
    Par mademoizel dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 11/06/2006, 14h34

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