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 :

Découpage date vba [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut Découpage date vba
    Bonjour tous le monde ,

    Peut-on couper une date 30/07/2013 16:01 pour l'avoir comme ceci 30/07/2013

    en VBA?

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(date,"dd/mm/yyyy")

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut
    Merci beaucoup

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut
    en faite je me suis mal exprimé,

    j'ai une colonne D dont le format de la date est 30/07/2013 11:17 , la plage des dates commence à D2.

    Mon but est de faire une macro qui remplace toutes les dates (30/07/2013 11:17 ) par 30/07/2013

    Est ce possible ?

    Désolé pour la mauvaise formulation sur mon post précédent

    Merci d'avance

  5. #5
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour thomhcv59


    Tu peux extraire la partie date avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    valeur = Cells(i, "A").Value
    Cells(i, "A").Value = DateValue(CDate(valeur )))
    Si tu voulais la partie heure, ce serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, "A").Value = TimeValue(CDate(valeur )))

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    robert a répondu à ta question... il te suffit de changer ton format soit tu boucles et tu fais une macro et tu te galères soit tu cliques sur la colonne et tu changes le format.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut
    Bonjour Docmarti,

    Quand je lance ton code il me met une erreur

    " erreur définie par l'application ou par l'objet "

  8. #8
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    i = 0 cells(0,"A") n'éxiste pas..

  9. #9
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Citation Envoyé par thomhcv59 Voir le message
    Bonjour Docmarti,

    Quand je lance ton code il me met une erreur

    " erreur définie par l'application ou par l'objet "
    Voici le code. Modifie la valeur de la variable DerniereLigne selon tes besoins.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub GarderDate()
     
    DerniereLigne = 100
    For i = 2 To DerniereLigne
    valeur = Cells(i, "A").Value
    Cells(i, "A").Value = DateValue(CDate(valeur))
    Next
     
    End Sub

  10. #10
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    s'il est vraiment nécessaire de tronquer les cellules de la colonne D en date sans heure, il y a une autre voie en gardant à l'esprit
    le format date étant avant tout un nombre, la partie entière réservée à la date et la partie fractionnaire dévolue à l'heure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Demo()
        Dim Cel As Range
        Application.ScreenUpdating = False
     
        For Each Cel In Range("D2:D" & Cells(Rows.Count, 4).End(xlUp).Row)
            If IsDate(Cel.Value) Then
                      Cel.Value2 = Fix(Cel.Value2)
                Cel.NumberFormat = "dd/mm/yyyy"
            End If
        Next
     
        Application.ScreenUpdating = True
    End Sub
    __________________________________________________________________________________________
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  11. #11
    Invité
    Invité(e)
    Par défaut Bonjour,
    désolé si je ne donne pas vraiment l'impression de me préoccuper du problème, mais je n'est pas vraiment compris la finalité!

    si il est question de présentation des dates aux format "dd/mm/yyyy", il y a l'enregistreur de macro qui le fera très bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns("d:d").NumberFormat = "dd/mm/yyyy"
    le fait en une seul passe!

    si il est question de faire un traitement pour envoyer ces date dans une autre feuille intéressons nous à ce traitement car je ne comprends pas ce que nous orrions à dire de plus.

    en revanche la macro de Marc-L répond bien à l'expression de besoin.

  12. #12
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Merci Robert, c'est pour cela j'ai commencé par s'il est vraiment nécessaire

    Et si la plage de cellules concernées est exclusivement au format date avec des dates valides sans cellule vide,
    j'ai en magasin plus rapide au lieu de scanner cellule par cellule …

    __________________________________________________________________________________________
    Question bien formulée, solution assurée ! (Robert Durupt)

  13. #13
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 12
    Par défaut
    Merci à tous pour vos réponses ca marche

    Cordialement

    Thomas

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

Discussions similaires

  1. weekend et jours fériés dans les dates VBA
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 08/05/2018, 21h43
  2. between 2 date VBA Access
    Par roustif dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/01/2009, 13h56
  3. code date vba
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/04/2008, 12h49
  4. recherche par date vba excel
    Par fred014 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/03/2007, 14h35
  5. Découpage date possible ?
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/02/2007, 10h28

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