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 :

addition dans un formulaire [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut addition dans un formulaire
    bonjour a tous

    j'ai mis une addition dans un formulaire afin d'obtenir le résultat sur une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.Value = Val(stock_actuel1 + quantité1)
    et à la place j'obtient une concatenation des 2 chiffres
    exemple si j'ai 64 en stock_actuel1 et 2 en quantité1
    je voudrait 66, hors j'obtiens 642

    comment faire car étrangement j'ai dans un autre formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.Value = Val(stock_actuel1 - quantité1)
    qui fonctionne très bien

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    et si tu essayes un truc du genre?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.Value = SUM(stock_actuel1 , quantité1)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour

    Le + est l'ancien symbole de concaténation du Basic (maintenant remplacé par &.
    Essaye ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Val(stock_actuel1) + Val(quantité1)
    Edit: on peut d'ailleurs utiliser le Val de façon systématique sur les zones de formulaire qui contiennent des chiffres. Attention à l'erreur si la zone contient un valeur texte.

  4. #4
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    ça ne fonctionne pas, il me répond sub ou fonction non définie

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour bosk Emmanuelle fgiambelluco le forum le principe
    val accepte que le point??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell = (Val(TextBox1) + (TextBox2))
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell = (CDbl(TextBox1) + (TextBox2))

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    ote moi d'un doute, ty as bien écrit ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Value = Val(stock_actuel1) + Val(quantité1)
    Edit : Bonjour laetitia
    C'est vrai qu'avec Val on a un problème de symbole de décimale
    Edit 2 : je viens de tester
    Val : si on utilise la , il ne prend que la partie entière
    CDbl : plante si on utilise le .

  7. #7
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveCell.Value = Val(stock_actuel1) + Val(quantité1)
    fonctionne
    impec

    merci a vous

    par contre je me rend compte que j'ai pas testé avec des chiffres a virgule.

    mais ici je n'additionne que des unités complettes
    pas de problème de décimal

  8. #8
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re fgiambelluco j 'ai tester CDbl avec le point chez moi ca plante pas bizarre??
    le calcul se fait sans pb...


    ps : on peut aussi forcer l'utilisateur a utiliser seulement les chiffres plus point ou virgule 2 exemples interessant

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

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re bonjour
    Laetitia
    En fait moi j'utilise ça pour changer les , en .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If KeyAscii = 44 Then
            KeyAscii = 46
        End If
    Mais ton code est plus propre et surtout plus lisible, je me mets ça de coté pour plus tard

  10. #10
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    je viens de testé un autre cas de figure avec chiffre a virgule et ça plante, car j'obtien un nombre entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    total1 = Val(prix1) * Val(quantité1)
    auparavant cela fonctionnait car la valeur de prix1 était obtenue par un principe de "ActiveCell.Offset(0, 2).Select"

    mais j'ai voulue affiné en créant un principe de VLookup pour eviter les select

    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    total1 = (CDbl(prix1) * (quantité1))
    mais ça plante

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re
    pour utiliser Val en toute sérénité, on peut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    total1 = Val(Replace(prix1, ",", ".")) * Val(Replace(quantité1, ",", "."))
    Je sais, ça commence à faire bricolage !

  12. #12
    Membre averti Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Points : 367
    Points
    367
    Par défaut
    oui, mais du bon bricolage

    ça fonctionne

    merci

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

Discussions similaires

  1. addition dans formulaire
    Par foster53 dans le forum IHM
    Réponses: 8
    Dernier message: 02/02/2010, 13h43
  2. addition de champs dans un formulaire
    Par le_viet dans le forum IHM
    Réponses: 7
    Dernier message: 04/07/2007, 23h27
  3. Réponses: 3
    Dernier message: 19/03/2003, 16h19
  4. Réponses: 2
    Dernier message: 12/02/2003, 16h26
  5. [CR][Access] intégrer un viewer dans un formulaire access
    Par nicolak dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 13/01/2003, 16h52

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