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 :

Afficher heure d'1 plage horaire dans combobox [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut Afficher heure d'1 plage horaire dans combobox
    Bonjour au forum,

    J'ai deux ComboBox (2 et 3) dans laquelle je sélectionne la plage horaire, quand je choisie 08:30, la ComboBox affiche un chiffre décimal du genre "0,354166666666667", pour 10:00 "0,416666666666667", etc.

    Les ComboBox sont liées à la colonne AA
    Plage horaire (entête)
    08:00
    08:30
    09:00
    ...

    Comment faire pour afficher les ComboBox en heure et que je puisse reprendre la valeur au format hh:mm dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        .Start = TextBox3.Value & " " & ComboBox2.Value
        .End = TextBox4.Value & " " & ComboBox3.Value
    Chargement des ComboBox dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
    Dim List
     
    List= Feuil18.Range("AA2:AA" & Feuil18.Range("AA6500").End(xlUp).Row)
    ComboBox2.List = List
    List= Feuil18.Range("AA2:AA" & Feuil18.Range("AA6500").End(xlUp).Row)
    ComboBox3.List = List
    Comment faire ?

    Merci

    Stephanie

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        combobox2.Value = Format(combobox2.Value, "hh:mm:ss")
        combobox3.Value = Format(combobox3.Value, "hh:mm:ss")
        .Start = TextBox3.Value & " " & combobox2.Value
        .End = TextBox4.Value & " " & combobox3.Value
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        .Start = TextBox3.Value & " " & Format(combobox2.Value, "hh:mm:ss")
        .End = TextBox4.Value & " " & Format(combobox3.Value, "hh:mm:ss")

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut
    re bonjour Daniel.C et au forum

    Désolé, je n'ai pas précisé que j'avais deja essayé le code similaire à votre 2è solution mais qui ne fonctionnait pas. Je viens de faire l'essai avec le première
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ComboBox2.Value = Format(ComboBox2.Value, "hh:mm:ss")
    ComboBox3.Value = Format(ComboBox3.Value, "hh:mm:ss")
    .Start = TextBox3.Value & " " & ComboBoxx2.Value
    .End = TextBox4.Value & " " & ComboBox3.Value
    pareil cela ne fonctionne toujours pas, j'ai des chiffres avec des décimal dans la ComboBox au lieu de 10:00 (par exemple). Le problème survient lorsque je clique dans la ComboBox il affiche les chiffres avec décimal

    Une idée ?

    Merci

    Stephanie

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Pour charger les Combo, procèdes comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
    Dim i As Integer
     
    For i = 2 To Feuil18.Range("AA" & Rows.Count).End(xlUp).Row
        Me.ComboBox2.AddItem Range("AA" & i).Text
        Me.ComboBox3.AddItem Range("AA" & i).Text
    Next
    End Sub
    Ensuite pour récupérer la valeur et la garder au format Date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("X1") = CDate(Me.ComboBox2.Value) '<-- "Me" si la procédure est lancée depuis le UserForm
    Pour info, évite d'utiliser le terme End comme nom de variable ou d'objet, End étant un terme utilisé par VBA

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Essaie ces deux macros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ComboBox2_Change()
        ComboBox2.Value = Format(ComboBox2.Value, "hh:mm:ss")
    End Sub
     
    Private Sub ComboBox3_Change()
        ComboBox3.Value = Format(ComboBox3.Value, "hh:mm:ss")
    End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 241
    Par défaut Résolu
    bonsoir Daniel.C, fring et au forum

    Fring, merci de votre réponse car elle fonctionne et c'était exactement ce que je voulais.

    Merci à vous

    Stephanie

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

Discussions similaires

  1. [MySQL] enregistrer une plage horaire dans base de données mysql
    Par johan0510 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 25/08/2010, 16h18
  2. problème de plage horaire dans planning
    Par pat17 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/04/2010, 09h28
  3. Afficher des images depuis une table dans combobox
    Par sihammaster dans le forum VB.NET
    Réponses: 2
    Dernier message: 13/04/2010, 19h51
  4. [Calendrier] PopUp pour saisie plage horaires dans une semaine
    Par jm69fr dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 24/11/2008, 09h16

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