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 :

Format nombre dans ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Points : 147
    Points
    147
    Par défaut Format nombre dans ComboBox
    Bonjour à tous,

    J'ai une Combo (Cmb_Tva) qui est alimentée par des données qui ont ce format (20,00%, 10,00%, 5,50%).
    Hors dans ma Combo elles s'affichent sous ce format (0,2, 0,1, 0,05) et cela ne me convient pas.
    Quel est le code pour que la combo affiche les bons formats ?
    Merci par avance pour vos réponses
    Le savoir est le plus intellectuel des virus, dommage qu'il ne soit pas très contagieux.
    Adrien Verschaere
    Étudiant, France, 1997

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

    Exemple d'alimentation à partir d'une feuille Feuil2 de E1 à E3. Combobox à 2 colonnes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize()
    Dim i As Byte
     
    With Me.ComboBox1
        .ColumnCount = 2
        .ColumnWidths = "0;" & .Width - 5
        For i = 1 To 3
            .AddItem Worksheets("Feuil2").Range("E" & i).Value
            .List(.ListCount - 1, 1) = Format(Worksheets("Feuil2").Range("E" & i).Value, "0.0%")
        Next i
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre habitué Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Points : 147
    Points
    147
    Par défaut
    Merci mercatog, mais pourquoi 2 colonnes
    Le savoir est le plus intellectuel des virus, dommage qu'il ne soit pas très contagieux.
    Adrien Verschaere
    Étudiant, France, 1997

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par Vba14 Voir le message
    Merci mercatog, mais pourquoi 2 colonnes
    parce que tu verra 20% dans la combo mais la valeur excel qui est en colonne 0 (invisible) est 0.2

    mais si tu tiens absolument au valeurs textuelles sert toi de la propriété".text" des cellules pour le remplissage
    exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
        Dim i As Long
        With Me.ComboBox1: For i = 1 To 3: .AddItem Worksheets("Feuil1").Range("E" & i).Text: Next i: End With
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre habitué Avatar de Vba14
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2019
    Messages : 440
    Points : 147
    Points
    147
    Par défaut
    Voilà j'ai trouvé ce que je voulais.
    Code à placer dans la Combo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Cmb_TVA_Exit(ByVal Cancel As MSForms.ReturnBoolean)
        Me.Cmb_Tva.Text = Format(Me.Cmb_Tva.Text, "##0.00 %")
    End Sub
    Merci à tous et bonne nuit
    Amicalement
    Le savoir est le plus intellectuel des virus, dommage qu'il ne soit pas très contagieux.
    Adrien Verschaere
    Étudiant, France, 1997

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 16h32
  2. [AC-2003] Format nombre dans un etat
    Par Bernard67 dans le forum IHM
    Réponses: 17
    Dernier message: 19/07/2010, 17h42
  3. Format Date dans ComboBox
    Par Shuki dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/09/2009, 20h49
  4. Format nombres dans une requête union
    Par triaguae dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/01/2008, 09h59
  5. Format nombre dans zone de liste
    Par rogeryzf dans le forum Access
    Réponses: 1
    Dernier message: 18/09/2006, 14h59

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