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 :

Problème d'addition de label (VBA / EXCEL) [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut Problème d'addition de label (VBA / EXCEL)
    Bonjour,

    J'ai cherché sur Internet sans réelle solution. Je souhaite additionner des label le souci est que quelque soit le nombre ce dernier est entier.

    Exemple : si on saisit 3.5555, j'obtiens 3 au total.

    Voici une partie de mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    somme = Round(Val(label01) + Val(label02) + Val(label03),2)
    total.Caption = somme


    En attente de vos réponses, je vous remercie par avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    389
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 389
    Par défaut
    Bonjour,

    Essaie dans un premier temps de mettre les labels au format suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Label1.Value = Format(Label1.Value, "#,##0.00")
    .
    .
    .
    LabelN.Value = Format(LabelN.Value, "#,##0.00")
    Puis de faire l’addittion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    total.Caption = Format(CDbl(Label1.Value) + . . . + CDbl(LabelN.Value), "#,##0.00")
    J’ai déjà utilisé cela avec des TextBox

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    Je viens de tester cette réponse et je vous en remercie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Label1.Caption= Format(Label1.Caption, "#,##0.00")
    .
    .
    .
    LabelN.Caption= Format(Label1.Caption, "#,##0.00")
    J'ai remplacé Value par Caption car il y avait une erreur de compilation idem pour le reste du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    total.Caption = Format(CDbl(Label1.Caption) + . . . + CDbl(LabelN.Caption), "#,##0.00")

    Malheureusement, cela ne résout pas le problème car en fait le compilateur indique une incompatibilité de type.


    Merci pour votre patience et vos réponses.

  4. #4
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 11
    Par défaut
    Je sais d'où vient le problème. Je me suis rendu dans les paramètres régionaux afin de remplacer la virgule par un point. Si j'applique cette méthode, le calcul est juste. Cependant, il me faudrait une solution sans avoir à passer par les paramètres régionaux.

    Avez-vous une idée ?

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,



    vois du côté de la fonction replace pour changer la virgule en point avant traitement tutoriel de Sylkyroad ou aide vba.


    cordialement,

    Didier

  6. #6
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour tous pourquoi tu utilises des labels il faut utiliser des textboxs bien plus de possibilitées..... de plus val accepte que le point!!
    exemple basique avec 3 textboxs un bouton tu rentres des valeurs dans textbox 2 & 3 clic sur commandbutton tu as le resultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    TextBox3 = (CDbl(TextBox1) + CDbl(TextBox2))
    End Sub
    si tu veus limiter la frappe a une expression numerique tu peus rajouter ces codes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub textBox1_keyPress(ByVal keyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.", Chr(keyAscii)) = 0 Then keyAscii = 0
    End Sub
    Private Sub textBox2_keyPress(ByVal keyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.", Chr(keyAscii)) = 0 Then keyAscii = 0
    End Sub

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut dreamerforever et le forum
    Un dépannage demande qu'on puisse connaître le problème et le contexte : un extrait omet le contexte
    testes ça, en espèrant que somme est déclarée en variable Double
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    somme = Round(cdbl(label01) + cdbl(label02) + cdbl(label03),2)
    total.Caption = somme
    A+

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

Discussions similaires

  1. [XL-2003] Problème avec un code en Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2009, 09h34
  2. [XL-2000] Problème avec l'aide de vba Excel
    Par ben_ghost dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/05/2009, 17h39
  3. [VBA EXCEL] Problème d'éxécution avec graphiques
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2005, 09h55
  4. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56
  5. [VBA] [Excel] Probleme de rafraichissement d'un label
    Par lejert dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 17h09

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