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 :

Format date inversé lors de la copie [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2012
    Messages : 139
    Par défaut Format date inversé lors de la copie
    Bonjour,
    j'ai un souci que je n'arrive pas à résoudre "normalement" lors de la fusion des lignes non vides de plusieurs feuilles sur une autre feuille, nommée "synthèse", d'un même fichier.
    L'une des colonnes commune à toutes les feuilles contient une date au format dd/mm/yyyy. ce format est pris en compte sur chaque feuille sauf sur celle "synthèse" où il se met systématiquement en mm/dd/yyyy. Pourtant, le format des cellules indique bien "*14/03/2001". Ainsi, 05/01/2013 sur une des feuilles, devient 01/05/2013 sur la feuille "synthèse".
    Même en forçant ce format dans une macro (la macro "format" citée dans le code), la fusion reste en mm/dd/yyyy ce qui m'oblige à forcer au format mm/dd/yyyy pour avoir la date au format.......dd/mm/yyyy
    Si quelqu'un à la solution (ou l'explication), je suis preneur§

    Voici ma macro de fusion (un grand merci à AVSInfoGest qui l'a bien optimisée ):
    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
    Private Sub CommandButton2_Click()
        Call import 'macro qui importe des données d'autres fichiers
     
        Dim Lig1 As Integer
        Dim Col1 As Integer
        Dim MaFeuille As Worksheet
        Dim Ligne As Integer
     
        Application.ScreenUpdating = False
        Feuil1.Range("A3:N6002").Cells.Clear  'feuille "synthèse"
     
        Lig1 = 3    'On commence à "remplir" la feuille Feuil1 à la ligne 3
     
        For Each MaFeuille In Sheets
            If MaFeuille.Name Like "Act*" Then  'les feuilles à fusionner commencent par "Act"
     
                With MaFeuille
                     For Ligne = 3 To .UsedRange.Row + .UsedRange.Rows.Count
                       If .Cells(Ligne, 2) <> "" Then
                             For Col1 = 1 To 14
                                 Feuil1.Cells(Lig1, Col1).Value = .Cells(Ligne, Col1).Text
                             Next
                             Lig1 = Lig1 + 1
                         End If
                     Next
                End With
     
            End If
        Next
        Worksheets("Synthèse ZD-E").Select
     
       Call format    'macro qui applique aux cellules des formats (centrage, bordures, date, etc.) parce qu'ils ne sont pas pris en compte lors de la fusion (pourquoi???)
     
        Application.ScreenUpdating = True
    End Sub

  2. #2
    Membre éclairé Avatar de Fluch
    Homme Profil pro
    Méthodiste flux
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Méthodiste flux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Par défaut
    En utilisant .Value pour ta cellule source à la place de .Text, cela fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.Cells(Lig1, Col1).Value = .Cells(Ligne, Col1).Value

  3. #3
    Membre confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Avril 2012
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2012
    Messages : 139
    Par défaut
    Merci Fluch, cela fonctionne nickel. Merci.
    Pour mon info, quelle est la différence de résultat entre "texte" et "value" ?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    La propriété Text renvoie ce qui est affiché alors que Value renvoie la valeur sous-jacente.

    Petit exemple pour clarifier les choses.
    En A1 et B1 d'une feuille, j'ai mis la date 1/01/2013.
    J'ai changé le format de B1 en "mardi 1 janvier 2013".
    On peut vérifier que la valeur (Value) des 2 cellules est identique en cliquant sur chacune d'elles et en regardant le contenu de la barre de formule.
    Par contre, ce qui est affiché (Text) est bien différent.

    Pour une date, il existe une 3e propriété intéressante: Value2 qui renvoie la représentation interne de cette date dans Excel. Nombre de jours écoulés depuis le 31/12/1899.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/03/2009, 08h34
  2. Problème Date de création lors d'une copie
    Par hybris95 dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 13/01/2009, 11h30
  3. erreur de format date lors d'import de fichier excel
    Par cashmoney dans le forum Import/Export
    Réponses: 0
    Dernier message: 07/01/2009, 14h27
  4. Réponses: 2
    Dernier message: 23/05/2006, 03h04

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