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 :

Faire des opération de calcul dans un formulaire vba sans remplir de cellules Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Conseiller en assurance
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseiller en assurance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 8
    Points
    8
    Par défaut Faire des opération de calcul dans un formulaire vba sans remplir de cellules Excel
    Bonjour les amis,

    J'ai besoin de votre aide.
    Je suis débutant en VBA et ces calculs nécessite un peu de maitrise.
    Je voudrais créer un formulaire de calcul de plusieurs valeurs.
    Je m'explique:
    Je dois créer une textbox dans laquelle je dois saisir une valeur et une textbox dans laquelle je vais mettre un taux une autre textbox dans laquelle le résultat doit s'afficher lorsque je clique sur un bouton de commande calculer.
    Je voudrais aussi mettre une condition à ce calcul si par exemple le calcule effectué est supérieur à une valeur mettre la valeur maximal applicable comme résultat du calcul.
    disant si 150 * 80%=120 et seuil maximum applicable 100 donc le seuil qui doit ressortir comme résultat est 100.

  2. #2
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Bonsoir,
    arretez moi si je me trompe, mais j'ai l'impression que vous voudriez que l'on vous fasse tout?
    Le UserForm, les contenus, les divers codes etc. ???
    C'est pas la philosophie générale de ce site qui est fait pour aider, pas pour faire à la place.
    Cordialement

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Nul ou non en VBA (ou n'importe quel langage de développement, d'ailleurs), tu peux peut-être commencer par nous montrer ce que tu saurais écrire au moins en pseudo code en utilisant les variables suivantes :
    v1 (la valeur de la textbox 1), v2 (la valeur du taux en textbox3), v3 (la valeur de la textbox du résultat du calcul)
    et avec les conditions exprimées ainsi :
    si ...(la condition)........ alors .......
    et les opérateurs suivants : x (pour la multiplication), : (pour la division) < (plus petit que), > (plus grand que) et = (égal)
    Comme tu le vois, ce qui t'est demandé là ne nécessite aucune connaissance de quelque code informatique que ce soit.
    Merci de bien vouloir faire d'abord cet "effort".

  4. #4
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Re bonsoir,
    sera-ce un truc comme cela que vous eussiez aimé que je vous fisse ?
    Nom : Capture d’écran 2018-11-11 à 20.25.40.png
Affichages : 2303
Taille : 19,6 Ko
    Mais il y a un problème, la valeur maximum, est elle unique ou se modifie t-elle avec le produit proposé? Parceque cela va faire une sacré différence au niveau du travail. Et je sais que trop comment les choses se passent. on pense avoir 15min et on fini avec 3 jours.
    Alors, ayez l'amabilité de répondre à cette question S'il vous plait. Valeur maximum
    Cordialement

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Conseiller en assurance
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseiller en assurance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Merci pour ta réponse unparia.
    ce que j'ai essayé de faire en code est un peux cela

    le code du bouton commande

    j'ai commencé par mettre la condition qui est si le résultat est supérieur au maximum applicable alors application du maximum

    textbox1= valeur numérique
    textbox2= taux
    textbox3= maximum applicable
    textbox4= résultat
    bouton de commande
    dans le code bouton de commande j'ai commencé par la condition
    if textbox1.value*textbox2.value> Textbox3.value then
    textbox4=textbox3.value
    else
    textbox4= textbox1.value*textbox2.value
    end if

    ceci ne fonctionne pas peut être que c'est dû à la particularité qu'il s'agit d'un pourcentage.

    Citation Envoyé par unparia Voir le message
    Bonjour
    Nul ou non en VBA (ou n'importe quel langage de développement, d'ailleurs), tu peux peut-être commencer par nous montrer ce que tu saurais écrire au moins en pseudo code en utilisant les variables suivantes :
    v1 (la valeur de la textbox 1), v2 (la valeur du taux en textbox3), v3 (la valeur de la textbox du résultat du calcul)
    et avec les conditions exprimées ainsi :
    si ...(la condition)........ alors .......
    et les opérateurs suivants : x (pour la multiplication), : (pour la division) < (plus petit que), > (plus grand que) et = (égal)
    Comme tu le vois, ce qui t'est demandé là ne nécessite aucune connaissance de quelque code informatique que ce soit.
    Merci de bien vouloir faire d'abord cet "effort".

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Conseiller en assurance
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseiller en assurance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 8
    Points
    8
    Par défaut merci
    Merci pour ta réponse ça ressemble un peu à ca sauf que je n'ai mis qu'un maximum applicable et j'ai mis un champs textbox dans lequel le résultat doit être affiché et si mon calcul est plus important que le maximum applicable alors il faut que que le résultat soit le maximum applicable.

    Citation Envoyé par Transitoire Voir le message
    Re bonsoir,
    sera-ce un truc comme cela que vous eussiez aimé que je vous fisse ?
    Nom : Capture d’écran 2018-11-11 à 20.25.40.png
Affichages : 2303
Taille : 19,6 Ko
    Mais il y a un problème, la valeur maximum, est elle unique ou se modifie t-elle avec le produit proposé? Parceque cela va faire une sacré différence au niveau du travail. Et je sais que trop comment les choses se passent. on pense avoir 15min et on fini avec 3 jours.
    Alors, ayez l'amabilité de répondre à cette question S'il vous plait. Valeur maximum
    Cordialement

  7. #7
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Bonjour, Il y a un truc que je ne comprend pas.
    Vous parlez de seuil maximum applicable et vous le présentez dans votre exemple comme le prix maximum. Mais en y réfléchissant bien, êtes vous sur de ne pas vouloir en fait une remise maximum applicable, ce qui induirait un prix non pas maximum mais minimum à payer?
    Par ailleurs, ce "maximum" vous allez le rentrer à la main dans le textbox?
    Par ailleurs dans votre réponse à Unparia, vous semblez utiliser la valeur de pourcentage. mais je crois que vous devez passer par une variable pour obtenir la valeur divisée par cent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Pourcentage As Double
    Private Sub TextBox2_Change()
    If TextBox2.Value <> "" Then
    Pourcentage = TextBox2.Value / 100
    End If
    End Sub
    Vous remplacez dans votre code TextBox2.value par Pourcentage
    Cordialement

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Conseiller en assurance
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseiller en assurance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 8
    Points
    8
    Par défaut merci
    Merci pour ton aide
    j'ai pu créer un petit bout de code qui fonctionne mais j'ai toujours un souci
    j'ai voulu mettre que si le résultat est inférieur à un minimum applicable donc ressortir le montant minimum dans la case résultat
    après plusieurs essais je n'y arrive pas.

    ci-dessous le bout de code et la capture écran du formulaire réalisé:

    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
    Private Sub CommandButton1_Click()
     
    txttaux = txttaux / 100
     
    txtres = (-((txtfrse * txttaux) - txtfrse) - ((txtfrse * txttaux) - txtfrse)) / 2
     
    If txtres = (-((txtfrse * txttaux) - txtfrse) - ((txtfrse * txttaux) - txtfrse)) / 2 > txtmin Then
     
        txtres = (-((txtfrse * txttaux) - txtfrse) - ((txtfrse * txttaux) - txtfrse)) / 2
     
    Else
     
        txtres = txtmin
     
    End If
     
    End Sub
    Images attachées Images attachées  

  9. #9
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Bonjour,
    Faudrait essayer de faire des efforts de compréhension. On essaye de vous aider, mais vous nous envoyez des réponses sans queue ni tête. un bout de code dans lequel nous devons tout deviner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .txttaux = txttaux / 100
    txttaux, est-ce une variable ou le nom du TextBox concernant le taux.
    Si Nous souhaitons répondre a votre attente, il faut prévoir les deux possibilités.
    dans le premier textbox vous entrez le prix initial, dans le deuxième le pourcentage, le troisième la valeur minimum du prix rectifiable, et dans le quatrième viendra s'inscrire le prix définitif qui sera le prix rectifié si Prix rectifié<prix rectifiable auquel cas le prix rectifié deviendra égal au prix rectifiable. exemple s'il s'agit de variables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    txttaux = txttaux/100
    txtrectifié = txtdépart*txttaux
    if txtrectifié > txtrectifiable
    textboxRectifié = txtrectifié
    else
    textboxRectifié = txtrectifiable
    end if
    Il ne vous reste plus qu'a transposer avec vos noms a vous. N'ayant pas pu le vérifier, j'espère n'avoir pas une erreur?
    Cordialement

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Conseiller en assurance
    Inscrit en
    Octobre 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseiller en assurance
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2018
    Messages : 12
    Points : 8
    Points
    8
    Par défaut merci
    Merci pour ta précieuse aide.
    J'ai bien pu trouver la solution grâce à ton orientation.

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

Discussions similaires

  1. Calcul dans un formulaire avec des if et case à cocher
    Par CrasherSEP dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/04/2014, 16h20
  2. Réponses: 3
    Dernier message: 16/09/2011, 15h09
  3. [AC-2000] faire des regroupements avant affichage dans un formulaire
    Par Nashe dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/09/2009, 15h04
  4. Réponses: 13
    Dernier message: 22/10/2008, 09h19
  5. disparition des calculs dans un formulaire
    Par OBIWAN64 dans le forum Access
    Réponses: 6
    Dernier message: 24/03/2006, 12h05

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