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 :

Date sous le format mm-yy


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Points : 21
    Points
    21
    Par défaut Date sous le format mm-yy
    Bonjour,

    Je travaille sur une macro vba sous Excel.
    je récupère d'une base Access un mois et une année, et je voudrai qu'ils apparaissent dans une colonne sous le format "mm-yy".
    Par exemple pour Février 2014 je veux 02-14.

    Seulement quand je fais ça le code ne comprends pas et affiche 40213...

    Voici les lignes de code correspondantes :
    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
     
    Set rs = db.OpenRecordset(sSQL)
     
         Dim i As Integer
     
         ' Remplir le tableau du book 227
         rs.MoveFirst
            i = 9
            While Not rs.EOF = True
                Range("B" & i) = rs("TOMBEES_CONVERTIES")
                If rs("mois_echeance") < 10 Then
                    Range("C" & i).Value = CStr(rs("mois_echeance")) & "_" & Right(rs("annne_echeance"), 2)
                    Else: Range("C" & i) = rs("mois_echeance") & "_" & Right(rs("annne_echeance"), 2)
                End If
                Range("G" & i) = rs("latent_conv")
                 LaDate = Date_echeance(rs("mois_echeance"), rs("annne_echeance"))
                Range("F" & i) = "< " & Abs(DateDiff("m", LaDate, Date)) & " months"
     
                i = i + 1
            rs.MoveNext
            Wend
    La date est donc copiée dans le colonne C. Pour l'instant j'ai séparé le mois et l'année avec "_" mais j'aimerai le faire avec "-".

    De l'aide s'il vous plaît

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il faut utiliser la propriété NumberFormat de l'objet Range
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A3").NumberFormat = "mm-yy"
    Cependant, le numéro de série 40213 correspond à la date du jeudi 4 février 2010 et pas février 2014.

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    J'ai essayé en utilisant NumberFormat et ça ne marche pas...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour, je comprends pas, tu fais une requête et tu scanne le recordset!!

    Tu as tous loisir de gérer ça dans ton script sql et d'envoyer le tout en une seule fois dans excel!
    Dernière modification par Invité ; 19/12/2013 à 12h34.

  5. #5
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    En fait je sais pas trop comment faire je suis pas ouf ouf en vba ni en sql

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 922
    Points : 28 908
    Points
    28 908
    Billets dans le blog
    53
    Par défaut
    Bonsoir,
    Je me suis contenté de répondre à ton problème de formatage mais comme l'a très justement fait remarquer Robert, tu peux faire ta requête et importer le tout dans excel
    Voir cette contribution Fonction qui renvoie une table contenant résultat d'une requête SQL sur une base de données Access

  7. #7
    Invité
    Invité(e)
    Par défaut Bonjour,
    généralement, il y a toujours un problème culturel entre VBA et Excel (i sont fou ces Américains!).

    pourquoi le 4 janvier tombe toujours le 1er avril (tu parles d'un poisson j'ai pas forcément envie de rire!).

    Code Structur SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select Champs
    From Ma Table
    Where monfiltreHere
    Group By Champs
    Having MonFiltreHaving.

    le select permet d'identifier les champs que tu veux afficher.
    Code SELECT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select * ' tous les champs
     
    select [Champ1],[Champ2] 'par énumération des champs
    Code FROM : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    From Table1 'précise la provenance des données
    'permet de sélectionner 2 table en effectuant un lien entre les champs communs aux 2 table. 
    From Table1 INNER JOIN Table2 on Table1.identifiant=Table2.identifiant
    Code WHERE : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE Table1.identifiant=10 'permet de filtre le contenue de la table
    Code GROUP BY : Sélectionner tout - Visualiser dans une fenêtre à part
    Group By champs1,Champ2  'permet de regrouper les datas notamment pour éviter les doublons
    Code HAVING : Sélectionner tout - Visualiser dans une fenêtre à part
    Haning 'ce comporte comme la close WHERE mais filtre les données concernées par le GROUP BY
    Note le Having se produit après le group by qui demande un traitement particulier des données. ne pas utiliser le having pour filtre des données qui pourraient être effectuées par le WHERE.

    en effet la close WHERe ce produisant avant le group by peut réduire de façon considérable le traitement de celui-ci.

    Code Résumé : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Select Count([Prénom]),[prénom] 
    From User
    Where [Prénom]='Alain'
    Group By [Prénom]
    Having Count([Prénom])>1;
    maintenant voyons ton cas.

    Code Pour toi : Sélectionner tout - Visualiser dans une fenêtre à part
    select ''' & [mois_echeance] & '-' & Right([annne_echeance], 2),[Champ2]
    Je t'invite à lire ces 2 lien. dans le 2imme, tu trouveras des astuce pour utiliser le générateur de requêtes d'ACCESS.

    http://www.developpez.net/forums/d13...s-forme-texte/

    http://www.developpez.net/forums/d14...-excel-access/
    Dernière modification par Invité ; 19/12/2013 à 14h29.

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 36
    Points : 21
    Points
    21
    Par défaut
    Hé ben c'est très intelligent tout ça
    J'ai rajouté du coup une colonne dans ma requête sql et je récupère directement la date sous le bon format, c'est parfait.

    Merci beaucoup j'ai appris quelque chose !

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

Discussions similaires

  1. récupérer la date sous le format 'JJ/MM/AA-HH-Mn'
    Par med_alpa dans le forum JDBC
    Réponses: 4
    Dernier message: 01/04/2008, 18h51
  2. [C#] Format de date sous Access
    Par choas dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/10/2006, 15h28
  3. pb format date sous access
    Par goezole dans le forum Access
    Réponses: 4
    Dernier message: 07/06/2006, 12h54
  4. format date sous postgres sql
    Par ruppert62 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 27/05/2005, 12h04
  5. Format de date sous Interbase
    Par Vulcanos dans le forum InterBase
    Réponses: 5
    Dernier message: 05/01/2005, 15h29

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