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 :

Récupérer la date d'une cellule dans un format précis


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
    Ingénieur production
    Inscrit en
    Octobre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur production

    Informations forums :
    Inscription : Octobre 2015
    Messages : 23
    Par défaut Récupérer la date d'une cellule dans un format précis
    Bonjour

    J'aimerais récupérer la date dans une cellule mais en conservant le format jj-mm-aa. Cependant quand j'utilise la fonction "cell.value" dans VBA, elle prend la valeur au format jj/mm/aaaa

    Voilà le code pour exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim last_line As Date
     
    Cells(50000, ref_column).Select
    Selection.End(xlUp).Select
    last_line = ActiveCell.Value
    Même si la cellule est de type 01-Apr-15 il va chercher la date dans la barre de formule au format 01/04/2015. J'ai cependant besoin de l'autre format pour aller rechercher cette date dans d'autres fichiers que je ne peux pas modifier.

    Existe-il une autre fonction que ".value" pour prendre la valeur affiché et non celle dans la barre de formule?

    Merci

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    tu devrai commencer par lire :

    Comprendre et gérer les dates sous Excel et en VBA


    le format de donnée Date n'as rien à voir avec la façon dont une date est affichée...

    que veux tu faire avec ta variable last_ligne...?.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur production

    Informations forums :
    Inscription : Octobre 2015
    Messages : 23
    Par défaut
    Merci,

    Je vais lire ça ce midi alors.

    En gros avec la variable last_line je veux récupérer la dernière date de ma feuille (la valeur retenue par last_line est par exemple 25/04/2015). Ensuite aller rechercher cette valeur dans un autre fichier excel que je ne peux pas modifier.
    Le problème c'est que dans ce fichier excel les dates apparaissent sous la forme 25-apr-15 et que la formule entrée est : "cellule d'au-dessus + 1", ce qui fait que l'outil de recherche ne retrouve pas la date souhaitée

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par ochini Voir le message
    ..Ensuite aller rechercher cette valeur dans un autre fichier excel que je ne peux pas modifier.
    ...
    et comment est effectué ta recherche ?

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur production
    Inscrit en
    Octobre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur production

    Informations forums :
    Inscription : Octobre 2015
    Messages : 23
    Par défaut
    Citation Envoyé par bbil Voir le message
    et comment est effectué ta recherche ?

    Avec Cells.Find

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Cells.Find(What:=last_line, After:=ActiveCell, LookIn:=xlValues, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Et que ce passe-t-il lorsque tu utilise ce code tel-quel ...

  7. #7
    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 169
    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 169
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a plusieurs propriétés pour lire le contenu d'une cellule
    Exemple La cellule $D$2 contient une formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SERIE.JOUR.OUVRE(A2;B2)
    et est formatée comme suit jjj* jj/mm/aa
    Le procédure ci-dessous (Excel français)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     With Range("D2")
      Debug.Print .Value
      Debug.Print .Text
      Debug.Print .NumberFormat
      Debug.Print .NumberFormatLocal
      Debug.Print .Formula
      Debug.Print .FormulaLocal
     End With
    Va écrire dans fenêtre d'exécution (Ctrl+G) de l'éditeur VBA
    06/11/2015
    ven 06/11/15
    ddd* dd/mm/yy
    jjj* jj/mm/aa
    =WORKDAY(A2,B2)
    =SERIE.JOUR.OUVRE(A2;B2)
    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. Réponses: 1
    Dernier message: 25/01/2010, 09h07
  2. Récupérer la valeur d'une cellule dans un EditorGrid
    Par baya1 dans le forum GWT et Vaadin
    Réponses: 4
    Dernier message: 11/08/2009, 15h09
  3. Réponses: 4
    Dernier message: 19/04/2009, 13h44
  4. Réponses: 2
    Dernier message: 12/04/2009, 12h26
  5. Réponses: 5
    Dernier message: 04/05/2006, 17h00

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