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 :

Liste déroulante sur des heures


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 441
    Points : 163
    Points
    163
    Par défaut Liste déroulante sur des heures
    Bonjour à tous,

    j'ai cherché mais pas trouvé peut-être mal formulé ma requète
    Ma question est la suivante : dans un userform (excel 2003) j'ai crée une liste déroulante dont je récupère les données d'une feuille dont les valeurs sont des heures 00:00 - 00:30 - 01:00 .......... mais dans mon USF elles apparaissent sous form décimale
    Comment procéder pour qu'elles restent au format heures ?
    merci à vous

  2. #2
    Membre averti
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2007
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 144
    Points : 337
    Points
    337
    Par défaut
    Met nous ton fichier en ligne !

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Points : 833
    Points
    833
    Par défaut
    bonjour,

    c'est normal puisque que les dates sont des nombres décimaux qu'Excel formate à l'affichage.

    première solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox.Additem CDate(ActiveCell.Value)
    mais la représentation se fera avec les secondes dont "01:30:00"

    Seconde solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox.Additem Format(ActiveCell.Value, "hh:mm")
    avec une convertion avec "CDate()" pour faire des calculs par la suite.

    ESVBA

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Points : 833
    Points
    833
    Par défaut Aller, un exemple
    Pièce jointe 55681voir le fichier :

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 441
    Points : 163
    Points
    163
    Par défaut
    Merci pour vos réponse.
    ci-joint, mon fichier.
    Je démarre sa conception. Dans la liste déroulante c'est une heure. quand je clique sur une valeur elle devient décimale
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    enlève le USF!B1:B49 de la propriété de ta combobox1
    et ajoute ce code (de ESVBA) dans l'évènement Initialize de ton userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
    Dim i As Integer
    For i = 1 To 49
        Me.ComboBox1.AddItem Format(Sheets("USF").Range("B" & i).Value, "hh:mm")
    Next
    End Sub

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 441
    Points : 163
    Points
    163
    Par défaut
    En lisant la routine de ESVBA, j'ai vu que le VBA pouvait être simple quand on est doué.
    Vous aurez vu dans mon fichier un essai de macro de MFC d'où l'utilité de la présentation des heures.
    merci à vous tous.
    J'aime venir vous lire

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

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer des valeurs d'une liste déroulante sur une autre liste
    Par nesta. dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 28/04/2015, 12h43
  2. Réponses: 9
    Dernier message: 25/08/2014, 16h01
  3. [XL-2007] Créer une liste déroulante avec des titres sur Excel
    Par Super Fanja dans le forum Conception
    Réponses: 3
    Dernier message: 22/09/2012, 17h35
  4. [AC-2007] Liste déroulante sur des tranches horaire
    Par Razorback dans le forum IHM
    Réponses: 8
    Dernier message: 04/05/2009, 11h42
  5. activation liste déroulante sur un checkbox
    Par julio_097 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2005, 16h45

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