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 de soustraction [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    jeanlucmartin
    Inscrit en
    Avril 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : jeanlucmartin

    Informations forums :
    Inscription : Avril 2009
    Messages : 101
    Par défaut problème de soustraction
    Bonsoir le forum
    voila un petit bout de code qui me donne soucis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    If Val(T_sable.Value) > Val(p_n_sable.Value) Then
     
     
    Me.T_d_sable.Value = Val(T_sable.Value) - Val(p_n_sable.Value)
     
    Else
    Me.T_d_sable.Value = Val(p_n_sable.Value) - Val(T_sable.Value)
    End If
    Ce sont des valeurs numériques genre 2.564
    mais cela ne me donne pas le bon résultat de la soustraction
    merci de votre aide

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir Croky, le forum,

    si tes correspondances sont des box, leur valeur est du texte, je te conseillerais de passer par des variables, ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim t_s as long, p_n as long
    t_s = format(T_sable.Value,"#0.000")
    p_n = format(p_n_sable.Value,"#0.000")
    if T_sable.Value > p_n_sable.Value then
    ....
    a +
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous pouvez aussi utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If CDbl(T_sable.Value) > CDbl(p_n_sable.Value) Then
    Me.T_d_sable.Value = CDbl(T_sable.Value) - CDbl(p_n_sable.Value)
    Else
    Me.T_d_sable.Value = CDbl(p_n_sable.Value) - CDbl(T_sable.Value)
    End If

  4. #4
    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
    re croky23 l'ami casefayere l' ami jacques_jean j ai teste avec un bouton pas de souci!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
    If T_sable <> "" And p_n_sable <> "" Then
    If Val(T_sable.Value) > Val(p_n_sable.Value) Then
    T_d_sable.Value = Val(T_sable.Value) - Val(p_n_sable.Value)
    Else
    T_d_sable.Value = Val(p_n_sable.Value) - Val(T_sable.Value)
    End If: End If
    End Sub
    vu tes derniers posts il faut voir ton code en entier comment tu l ' as écrit si tu veus l' écrire en direct il faut appliquer la meme démarche que le post precedent avec des AfterUpdate & Change

  5. #5
    Membre confirmé
    Homme Profil pro
    jeanlucmartin
    Inscrit en
    Avril 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : jeanlucmartin

    Informations forums :
    Inscription : Avril 2009
    Messages : 101
    Par défaut
    merci pour ces réponses mais je suis un peu perdu


    juste avant j'ai ce code aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If T_sable <> "" And p_n_sable <> "" Then
    If Val(T_sable.Value) > Val(p_n_sable.Value) / 100 * 105 Then MsgBox "Vous avez dépassé la tolérance de 5% au dessus....!"
    If Val(T_sable.Value) < Val(p_n_sable.Value) / 100 * 95 Then MsgBox "Vous avez dépassé la tolérance de 5% en dessous....!"
    ensuite j'ai essayé les 2 solutions mais j'ai du faire n'importe quoi.... (débutant)
    pouvez vous m'apporter un peu plus d'explication svp

  6. #6
    Membre confirmé
    Homme Profil pro
    jeanlucmartin
    Inscrit en
    Avril 2009
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : jeanlucmartin

    Informations forums :
    Inscription : Avril 2009
    Messages : 101
    Par défaut
    je viens de tester ton code laetitia

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    T_d_sable.Value = Val(T_sable.Value) - Val(p_n_sable.Value)
    cela me donne pour ex

    Val(T_sable.Value) =9.236

    Val(p_n_sable.Value)=7.25

    et le résultat me donne 2.236
    au lieu de 1.986

    je vous donne le code en entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub T_sable_AfterUpdate()
    Me.p_n_sable.Visible = True
    Me.Label18.Visible = True
    Me.T_d_sable.Visible = True
     
    If T_sable <> "" And p_n_sable <> "" Then
    If Val(T_sable.Value) > Val(p_n_sable.Value) / 100 * 105 Then MsgBox "Vous avez dépassé la tolérance de 5% au dessus....!"
    If Val(T_sable.Value) < Val(p_n_sable.Value) / 100 * 95 Then MsgBox "Vous avez dépassé la tolérance de 5% en dessous....!"
     
    End If
     
    If T_sable <> "" And p_n_sable <> "" Then
    If Val(T_sable.Value) > Val(p_n_sable.Value) Then
    T_d_sable.Value = Val(T_sable.Value) - Val(p_n_sable.Value)
    Else
    T_d_sable.Value = Val(p_n_sable.Value) - Val(T_sable.Value)
    End If: End If
    End Sub

  7. #7
    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
    re le fil j ai teste j ai bien 1.986 il manque quelque chose ??????????
    attention dans le post precedent val pas aimer virgule prendre CDbl

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Citation Envoyé par croky23 Voir le message
    Ce sont des valeurs numériques genre 2.564
    Si le séparateur décimal est le point, comme tu semble le montrer !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Label1.Caption = Replace(TextBox1, ".", ",") - Replace(TextBox2, ".", ",")
    End Sub
    Et ça fonctionne, j'ai tester.
    A+

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

Discussions similaires

  1. [Dates] Problème de soustraction de date
    Par Tee shot dans le forum Langage
    Réponses: 6
    Dernier message: 02/06/2007, 00h41
  2. [C#2] Problème sur soustraction de DateTime
    Par Mattk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/07/2006, 19h28
  3. Problème sur soustraction
    Par flo456 dans le forum ASP
    Réponses: 8
    Dernier message: 13/04/2006, 15h41
  4. Problème de soustraction dans un champ
    Par Tyraelina dans le forum Access
    Réponses: 1
    Dernier message: 18/12/2005, 17h18
  5. Problème de soustraction de date
    Par remika dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/07/2005, 14h51

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