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 :

Inversion mois / jour collage VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    ""
    Inscrit en
    Mai 2019
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : ""

    Informations forums :
    Inscription : Mai 2019
    Messages : 201
    Par défaut Inversion mois / jour collage VBA
    Bonjour à tous,

    Je sais, je sais, je sais... Ce sujet a déjà été traité mille fois

    J'ai regardé ces mille sujets !

    Mais j'ai pas trouvé comment l’adapter à mon cas.

    Visiblement ça provient de la fonction paste en VBA qui ne sait pas sous quel format coller les dates et donc les colle par défaut au format américain. Sauf quand c'est pas possible donc quand on dépasse le jour 12.

    Voici mon code
    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
    38
    39
    40
    41
    42
    43
    44
    45
    Sub Coller()
        Sheets("IMPORT").Select
        Columns("G:Z").Select
        Selection.ClearContents
        Range("G1").Select
     
     
        ActiveSheet.Paste                            ' !!!! ICI !!!!!
     
     
        Range("S2:S2000").Select
        Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
                          SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                          ReplaceFormat:=False
        Columns("F:Z").Copy
        Sheets("Données").Select
        Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                 :=False, Transpose:=False
        Sheets("IMPORT").Select
        Range("import_2").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=Range("A12:A13"), _
            CopyToRange:=Range("zdoutil"), _
            Unique:=False
        Range("import_2").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=Range("B12:B13"), _
            CopyToRange:=Range("zdcons"), _
            Unique:=False
        Range("import_2").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=Range("C12:C13"), _
            CopyToRange:=Range("zdconstci"), _
            Unique:=False
        Range("import_2").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=Range("d12:d13"), _
            CopyToRange:=Range("zdtci"), _
            Unique:=False
        Range("import_2").AdvancedFilter _
            Action:=xlFilterCopy, _
            CriteriaRange:=Range("e12:e13"), _
            CopyToRange:=Range("zdsil"), _
            Unique:=False
    End Sub
    J'ai vu des solutions avec Cdat mais je sais pas comment le lier avec mon paste

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    il faut jouer avec le NumberFormat de tes colonnes avant d'y coller les dates

    excellent explication de DocMarti ICI

  3. #3
    Membre confirmé
    Homme Profil pro
    ""
    Inscrit en
    Mai 2019
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : ""

    Informations forums :
    Inscription : Mai 2019
    Messages : 201
    Par défaut
    Pardon, j'aurais dû préciser, je suis un âne en VBA

    Je précise que mes données sont copiées depuis un logiciel tiers et mes dates collées vont de J2 à K1500

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Où est le "Copy" qui spécifie la source de la copie ?

  5. #5
    Membre confirmé
    Homme Profil pro
    ""
    Inscrit en
    Mai 2019
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : ""

    Informations forums :
    Inscription : Mai 2019
    Messages : 201
    Par défaut
    Je le fais sur une autre application.

    Ca ressemble à un espèce de tableur aussi sur lequel je peux faire copier.

    Ensuite j'ai plus qu'à coller. Je précise que si je fais coller manuellement je ne rencontre pas ce problème

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Est-ce que dans ta source tu pourrais formater les dates comme des nombres ?
    Que cela ressemble à comment Excel les gardent en interne.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre confirmé
    Homme Profil pro
    ""
    Inscrit en
    Mai 2019
    Messages
    201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : ""

    Informations forums :
    Inscription : Mai 2019
    Messages : 201
    Par défaut
    Non, je peux pas agir sur la forme de la source. Mais c'est vraiment comme sur Excel, c'est sur une base access.

    Après en cherchant sur internet c'est un problème qui n'est pas lié avec le format initial des données mais avec le traitement des données par le VBA.

    Par défaut il va traiter les dates en format américain pour tous les jours < 13 puis redevenir en format français au delà puisque le mois 13 n'existe pas.

    C'est juste que je ne sais pas comment agir sur le paste. Je voudrais simplement qu'il me fasse un paste normal, français quoi

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Si c'est une base Access le plus simple est sans doute de prendre les données en utilisant une connexion vers Access.
    C'est disponible dans l'onglet Données de Excel.
    Passer par le presse papier n'est pas la solution la plus sécuritaire.

    En passant Access n'est absolument pas une sorte de tableur. C'est une base de données relationnelle et son architecture et fonctionnement sont très différents.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Inversion Mois Jour VBA excel macro
    Par kader15 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/08/2016, 20h06
  2. [AC-2007] Inversion mois jour
    Par silverfly dans le forum IHM
    Réponses: 13
    Dernier message: 12/08/2009, 14h33
  3. Problème format date - SimpleDateFormat inversion mois/jour
    Par juanqui dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 07/02/2007, 14h37
  4. [Requete] Inversion mois/jours lors de resultat nul
    Par Jeremie_Vi dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/07/2006, 12h47
  5. [ACCESS] probleme Inversion Mois/Jours
    Par fredrider dans le forum Access
    Réponses: 10
    Dernier message: 26/06/2006, 17h37

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