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 :

[Macro] Conversion nombre en date


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
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 97
    Par défaut
    Bonjour,

    Sur une base de données excel je dispose d'une centaine de ligne qui sont extraite via un logiciel mais celui ci ne me met pas en forme la date correctement:

    Il me met une date sous la forme "20150102" alors que je souhaiterais l'avoir sous la forme " 01/02/2015".

    Je suis a la recherche d'un code VBA afin de pouvoir avoir une facilité de lecture plus aisée.

    Cordialement

    Voici un exemple du fichier les colonnes que j'aimerais retranscrire correctement sont de G à K
    Fichiers attachés Fichiers attachés

  2. #2
    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,

    utiliser Convertir du menu Données

    Et si vraiment un code est nécessaire, en activant le Générateur de macros …



    __________________________________________________________________________________________________
    Tous unis, tous Charlie

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 97
    Par défaut
    Merci pour l'astuce.

    Actuellement j'utilise la formule
    =DATE(GAUCHE(J2;4);STXT(J2;5;2);DROITE(J2;2))
    mais il faut que j’insère une colonne a coté ce qui est un peu contraignant.

    Je souhaiterais qu'une macro soit attaché au fichier ce qui ferais que dés l'ouverture le changement se face automatiquement dans la même cellule et que l'utilisateur n'en voit rien . Est ce possible

  4. #4
    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
    Citation Envoyé par Florian53 Voir le message
    Est ce possible
    Oui via Convertir !

    TextToColumns en VBA, une seule ligne de code, sans boucle …

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 97
    Par défaut
    Marc-L: je ne comprends pas TextToColumns ou dois je mettre ça

    Ashireon: effectivement sa marche bien mais j'aimerais avoir un format comme ça "jj/mm/yyyy" je ne vois pas comment integrer les jours j'ai fais quelques essais mais non concluant.

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub CeQueMarcLTeDisait()
    Dim i As Integer
     
    For i = 0 To 3
        CONVERTIR Worksheets("Sheet1").Columns("H:H").Offset(, i)
    Next i
    End Sub
     
     
    Private Sub CONVERTIR(ByVal Plage As Range)
     
    Plage.TextToColumns Destination:=Plage.Cells(1, 1), DataType:=xlDelimited, FieldInfo:=Array(1, 5)
    End Sub

  7. #7
    Membre éclairé
    Homme Profil pro
    Responsable Maintenance
    Inscrit en
    Août 2012
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Responsable Maintenance

    Informations forums :
    Inscription : Août 2012
    Messages : 479
    Par défaut
    bonjour,
    Voici un code pour la colonne F ca t'aidera à
    comprendre

    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
    Public Sub Conversion()
    Dim LastLigne As Long, X As Long, Temp As String
    LastLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
     
        For X = 3 To LastLigne
            ' Conversion de la colonne F
            If IsNumeric(Sheets(1).Range("F" & X).Value) Then
                Temp = CStr(Sheets(1).Range("F" & X).Value)
     
                Sheets(1).Range("F" & X) = DateSerial(Mid(Temp, 1, 4), (Mid(Temp, 5, 2)), 1)
            End If
            Sheets(1).Range("F" & X).Value = Format(Sheets(1).Range("F" & X).Value, "mm/yyyy")
        Next X
     
    End Sub

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

Discussions similaires

  1. [XL-2013] Pb conversion nombre et date suite modification avec userform
    Par joel50 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 30/10/2014, 08h38
  2. [Débutant] Conversion Nombre en Date et Heure
    Par vg-matrix dans le forum VB.NET
    Réponses: 6
    Dernier message: 03/03/2014, 10h17
  3. [XL-2003] Conversion nombre en date et ajout dans une formule
    Par clem71 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2009, 10h26
  4. Conversion nombre en date
    Par polux dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 06/10/2007, 04h47
  5. Conversion nombre en date
    Par onyouma dans le forum Access
    Réponses: 6
    Dernier message: 30/01/2006, 11h06

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