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 du jour et du mois lors d'un Selection.Replace


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Par défaut Inversion du jour et du mois lors d'un Selection.Replace
    Bonjour,

    Ma cellule (1,2) contient une date obtenue pas une formule, je fais un copier coller de la cellule en valeur pour obtenir une date toute simple puis je voudrais remplacer les / de la date par des points.

    Voici le code que j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Cells(1, 2).Select
    Selection.NumberFormat = "d/m/yyyy"
    Selection.Copy
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Application.CutCopyMode = False
     
    Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _
            SearchOrder:=xlByRows, MatchCase:=False
    Mon probleme que la commande Selection.Replace en plus de remplacer les / par des . inverse le mois et le jour...
    Est que on peut empecher cela?

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    En travaillant avec un format texte à la place du format date.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Par défaut
    Mais si je converti ma cellule en format texte, la date se transforme en chiffre.

    04/11/2008 deviens 39756 en format texte

  4. #4
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    Bonsoir,

    le mieux pour travailler sur des dates c'est quand même le format de donnée date et pas chaine.. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub yaConvert()
      ActiveCell.Value = ActiveCell.Value
      ActiveCell.NumberFormat = "dd.mm.yyyy"
     End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Par défaut
    Citation Envoyé par JackOuYA Voir le message
    Bonsoir,

    le mieux pour travailler sur des dates c'est quand même le format de donnée date et pas chaine.. :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub yaConvert()
      ActiveCell.Value = ActiveCell.Value
      ActiveCell.NumberFormat = "dd.mm.yyyy"
     End Sub

    ça fonctionne niquel, ça ne fait plus l'inversion. Merci beaucoup

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 130
    Par défaut
    hum j'ai parlé un peu vite, c'est vraiment une bizarerie.... lorsque je fais replace pour changer les / en . cela inverse encore la position du jour et du mois.

    J'ai besoin d'enlever les / car j'enregistre le fichier par date et on se peut pas enregistrer un nom de ficher avec des / .

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Cells(1, 2) = "=TODAY()+1-(WEEKDAY(TODAY())=6)*2"
    Cells(1, 2).Select
      ActiveCell.Value = ActiveCell.Value
      ActiveCell.NumberFormat = "dd/mm/yyyy"
     
    'Puis c'est ici que ça inverse le jour et le mois:
     
       Selection.Replace What:="/", Replacement:=".", LookAt:=xlPart, _     SearchOrder:=xlByRows, MatchCase:=False

    PS: Si je met ds le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.NumberFormat = "dd.mm.yyyy"
    j'ai bien des point à l'affichage mais il sont considérés en faite toujours comme des / .

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

Discussions similaires

  1. Inversion du jour et du mois d'une date provenant d'un formulaire.
    Par defluc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2014, 11h56
  2. [Toutes versions] Copier une date sans inverser le jour et le mois
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/05/2009, 17h29
  3. [A-03] inversions entre jour et mois sur dates
    Par thiefer dans le forum IHM
    Réponses: 4
    Dernier message: 31/10/2008, 14h52
  4. Probleme inversion jour et mois lors d'une copie par macro
    Par alex830001 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 11/09/2008, 15h29
  5. inversion de jour et de mois dans une textbox
    Par Coluche dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2008, 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