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 :

Problème format date [XL-2013]


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
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut Problème format date
    Bonjour à tous,

    J'ai un problème avec mes dates. J'aimerais qu'elles soient importées au format dd/mm/yyyy mais certain d'entres elles sont inversées (mm/dd/yyyy).

    Vous comprendrez plus facilement avec un exemple.

    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
    29
    30
    31
    32
    33
    34
    Private Sub CommandButton1_Click()
     
    Dim i As Integer
    Dim rng_feuil1 As Range
    Dim rng_project As Range
     
     
    Set rng_feuil1 = Worksheets("Feuil1").Range("C10")
     
    With Worksheets("project")
        .Range("A8:G" & .Columns(7).Find("*", , , , , xlPrevious).Row).ClearContents
        .Range("I8:L" & .Columns(12).Find("*", , , , , xlPrevious).Row).ClearContents
     
        Set rng_project = .Range("A8")
     
        For i = 0 To Worksheets("Feuil1").Columns(3).Find("*", , , , , xlPrevious).Row - 10
            If rng_feuil1.Offset(i, 0) = "P" Then
     
                rng_project.Offset(0, 0) = Format(rng_feuil1.Offset(i, 0), "dd/mm/yyyy") 'C10 de Feuil1 to A8 de project
                rng_project.Offset(0, 1) = Format(rng_feuil1.Offset(i, 1), "dd/mm/yyyy") 'D10 de Feuil1 to B8 de project
                rng_project.Offset(0, 2) = Format(rng_feuil1.Offset(i, 4), "dd/mm/yyyy") 'G10 de Feuil1 to C8 de project
                rng_project.Offset(0, 3) = Format(rng_feuil1.Offset(i, 5), "dd/mm/yyyy") 'H10 de Feuil1 to D8 de project
                rng_project.Offset(0, 4) = Format(rng_feuil1.Offset(i, 10), "dd/mm/yyyy") 'M10 de Feuil1 to E8 de project
                rng_project.Offset(0, 5) = Format(rng_feuil1.Offset(i, 11), "dd/mm/yyyy") 'N10 de Feuil1 to F8 de project
                rng_project.Offset(0, 6) = Format(rng_feuil1.Offset(i, 19), "dd/mm/yyyy") 'V10 de Feuil1 to G8 de project
                rng_project.Offset(0, 11) = Format(rng_feuil1.Offset(i, 21), "dd/mm/yyyy") 'X10 de Feuil1 to L8 de project
     
                Set rng_project = rng_project.Offset(1, 0)
            End If
        Next i
     
    End With
     
    End Sub
    Merci d'avance pour votre aide,

    Antoine
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Regarde avec la fonction "DateValue" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rng_project.Offset(0, 0) = DateValue(Format(rng_feuil1.Offset(I, 0), "dd/mm/yyyy"))
    Hervé.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Cela ne fonctionne pas. J'ai un message d'erreur: "incompatibilité de type".

    Antoine

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Comment sont tes dates ? Un petit fichier exemple alors.
    chez moi ceci fonctionne très bien !

    Hervé.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Voici un exemple.

    Antoine
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Re,

    C'est normal que ça ne fonctionne pas, tu veux formater des valeurs qui ne sont absolument pas des dates "Nom client", "Code client", etc... Seules tes colonnes N, V et X sont des dates donc c'est seulement sur ces dernière qu'il faut appliquer le formatage et pas sur les autres :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Private Sub CommandButton1_Click()
     
        Dim i As Integer
        Dim rng_feuil1 As Range
        Dim rng_project As Range
     
     
        Set rng_feuil1 = Worksheets("Feuil1").Range("C10")
     
        With Worksheets("project")
            .Range("A8:G" & .Columns(7).Find("*", , , , , xlPrevious).Row).ClearContents
            .Range("I8:L" & .Columns(12).Find("*", , , , , xlPrevious).Row).ClearContents
     
            Set rng_project = .Range("A8")
     
            For i = 0 To Worksheets("Feuil1").Columns(3).Find("*", , , , , xlPrevious).Row - 10
     
                If rng_feuil1.Offset(i, 0) = "P" Then
     
                    rng_project = rng_feuil1.Offset(i, 0) 'C10 de Feuil1 to A8 de project
                    rng_project.Offset(0, 1) = rng_feuil1.Offset(i, 1) 'D10 de Feuil1 to B8 de project
                    rng_project.Offset(0, 2) = rng_feuil1.Offset(i, 4) 'G10 de Feuil1 to C8 de project
                    rng_project.Offset(0, 3) = rng_feuil1.Offset(i, 5) 'H10 de Feuil1 to D8 de project
                    rng_project.Offset(0, 4) = rng_feuil1.Offset(i, 10) 'M10 de Feuil1 to E8 de project
                    rng_project.Offset(0, 5) = DateValue(Format(rng_feuil1.Offset(i, 11), "dd/mm/yyyy"))  'N10 de Feuil1 to F8 de project
                    rng_project.Offset(0, 6) = DateValue(Format(rng_feuil1.Offset(i, 19), "dd/mm/yyyy")) 'V10 de Feuil1 to G8 de project
                    rng_project.Offset(0, 11) = DateValue(Format(rng_feuil1.Offset(i, 21), "dd/mm/yyyy")) 'X10 de Feuil1 to L8 de project
     
                    Set rng_project = rng_project.Offset(1, 0)
     
                End If
            Next i
     
        End With
     
    End Sub
    Hervé.

  7. #7
    Membre chevronné
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    Octobre 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 177
    Par défaut
    Bonjour Antgrandj, Theze, Le Forum

    Je viens de tester et la fonction Datevalue fonctionne bien. J'ai aussi utiliser les fonctions Day,Month,Year pour reconstituer la date car malgré l'utilisation de la fonction Datevalue et l'application du format cela changeait le mois de positiond ans la date de la feuille Project

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                rng_project.Offset(0, 0) = rng_feuil1.Offset(i, 0) 'C10 de Feuil1 to A8 de project
                rng_project.Offset(0, 1) = rng_feuil1.Offset(i, 1) 'D10 de Feuil1 to B8 de project
                rng_project.Offset(0, 2) = rng_feuil1.Offset(i, 4) 'G10 de Feuil1 to C8 de project
                rng_project.Offset(0, 3) = rng_feuil1.Offset(i, 5) 'H10 de Feuil1 to D8 de project
                rng_project.Offset(0, 4) = rng_feuil1.Offset(i, 10) 'M10 de Feuil1 to E8 de project
                rng_project.Offset(0, 5) = DateValue(Day(rng_feuil1.Offset(i, 11).Value) & "/" & Month(rng_feuil1.Offset(i, 11).Value) & "/" & Year(rng_feuil1.Offset(i, 11).Value)) 'N10 de Feuil1 to F8 de project
                rng_project.Offset(0, 6) = DateValue(Day(rng_feuil1.Offset(i, 19).Value) & "/" & Month(rng_feuil1.Offset(i, 19).Value) & "/" & Year(rng_feuil1.Offset(i, 19).Value)) 'V10 de Feuil1 to G8 de project
                rng_project.Offset(0, 11) = DateValue(Day(rng_feuil1.Offset(i, 21).Value) & "/" & Month(rng_feuil1.Offset(i, 21).Value) & "/" & Year(rng_feuil1.Offset(i, 21).Value)) 'X10 de Feuil1 to L8 de project
    Bonne journée

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Par défaut
    Bonjour danixdb,

    C'est super ! Ça fonctionne parfaitement. Ça règle tous mes problèmes. Mille mercis !

    En plus de ça, en voyant ton code, je viens de comprendre ma boulette. J'avais oublié que toutes mes colonnes n'étaient pas des dates ;-)

    Bonne journée à toi et à tout le forum,

    Antoine

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

Discussions similaires

  1. Problème format date
    Par benjisan dans le forum Modélisation
    Réponses: 3
    Dernier message: 17/07/2008, 09h24
  2. Problème Format date
    Par Jiyuu dans le forum VB.NET
    Réponses: 5
    Dernier message: 21/08/2007, 16h52
  3. problème format date dans un datagrid
    Par bebert119 dans le forum ASP.NET
    Réponses: 11
    Dernier message: 14/08/2007, 15h38
  4. Problème format Date avec VS2003
    Par vaohdan dans le forum Windows Forms
    Réponses: 1
    Dernier message: 07/05/2007, 12h06
  5. Problème format date - SimpleDateFormat inversion mois/jour
    Par juanqui dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 07/02/2007, 14h37

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