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 :

Liste déroulante avec macro de calcul


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Magasinier
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Magasinier

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut Liste déroulante avec macro de calcul
    Bonjour,

    J'ai fait une liste déroulante ActiveX reprenant 6 choix.
    Chaque choix, sous VBA, est un calcul de densité.

    Donc, on inscrit dans une cellule la qté reçue en Kg (cells 9.37), on choisit le pdt dans la liste déroulante, et le calcul se lance, inscrivant le résultat dans une cellule déterminée (cells 10.37).
    Et ça fonctionne, mais dès qu'on change la qté reçue, il faut alors changer de choix pour que le calcul se refasse.

    Est-il possible de faire en sorte que dès que la cellule de qté reçue est pleine, le calcul se fasse de lui-même pour le choix déjà sélectionné ?
    Pour info le code est placé sur la feuille contenant la liste déroulante, pas sur un module.

    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 frequence_Change()
    Select Case frequence.Value
    Case "Choix du produit"
    Exit Sub
    Case "Javel (1,263)"
    Cells(10, 37).Value = Cells(9, 37).Value / 1263
    Case "Acide Sulfurique (1,85)"
    Cells(10, 37).Value = Cells(9, 37).Value / 1850
    Case "Soude (1,52)"
    Cells(10, 37).Value = Cells(9, 37).Value / 1520
    Case "Sulfate d'Alumine (1,4)"
    Cells(10, 37).Value = Cells(9, 37).Value / 1400
    Case "Acide Phosphorique (1,6)"
    Cells(10, 37).Value = Cells(9, 37).Value / 1600
    Case Else
    End Select
    End Sub
    Merci pour le coup de main, et en espérant être compréhensible lol

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Ton code se trouve dans le module de la feuille, il te suffit de rajouter cette procédure événementielle pour que le calcul se fasse aussi quand tu changes la quantité en AK9 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        Application.EnableEvents = False
     
        If Target.Address(0, 0) = "AK9" Then frequence_Change
     
        Application.EnableEvents = True
     
    End Sub

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Par défaut
    Bonjour,

    je suis pas certain de bien comprendre. Normalement si la valeur d'une cellule change par défaut excel recalcule automatiquement à moins d'avoir changer cette option.
    Donc :
    As-tu modifié cette option ?
    Ou saisis-tu cette nouvelle quantité ?
    Dans une cellule il me semble et qui est cells(9,37) oui/non ?

    Edit: ah oui ! le choix du pdt il arrive à quel moment ? et comment est-il pris en compte dans le calcul ?

    A+

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Magasinier
    Inscrit en
    Janvier 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Magasinier

    Informations forums :
    Inscription : Janvier 2018
    Messages : 4
    Par défaut
    Re !

    @ Theze : en effet, cela fonctionne parfaitement, un grand merci !

    @Phil Free : bien que le sujet soit clos, je ne vous laisserais pas en suspens
    En effet, Excel calcule automatiquement, lorsque c'est une formule il n'y a aucun souci, mais pas quand le calcul nécessite une sélection, manifestement.
    J'ai bien l'option calcul auto activée, j'étais allé voir avant de demander de l'aide^^
    la nouvelle qté était bien remplie à la place de l'ancienne, toujours sur la même cellule 9.37 (ak9). le problème était qu'en changeant cette qté, la sélection actuelle ne recalculez pas avec ce changement de donnée.

    maintenant si

    merci pour l'aide !!

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Juste pour préciser sur ce point de calcul automatique !
    Le calcul n'est pas fait par une formule dans le classeur mais dans la procédure événementielle du ComboBox de ce fait, Excel ne voit pas cette "formule" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Cells(10, 37).Value = Cells(9, 37).Value / 1263
    ...
    ...
    donc, pour que le calcul se fasse, il faut relancer cette procédure.

Discussions similaires

  1. [XL-2016] Liste déroulante avec formule de calcul
    Par caroline29 dans le forum Excel
    Réponses: 3
    Dernier message: 18/09/2017, 13h19
  2. Création d'une liste déroulante avec Nom calculé
    Par thais781 dans le forum Excel
    Réponses: 2
    Dernier message: 13/07/2015, 09h06
  3. [WD-2003] Macro liste déroulant avec un champ date modifiable
    Par Akane42 dans le forum VBA Word
    Réponses: 5
    Dernier message: 12/04/2011, 09h43
  4. Comment remplir une liste déroulante avec une macro sans doublons
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/06/2007, 18h34
  5. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01

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