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 :

Formule de calcul avec VBA Excel [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Formule de calcul avec VBA Excel
    Bonjour à tous,

    J'ai 2 TextBox dans un formulaire. T5 dans laquelle on tape un chiffre. T19 dans laquelle doit se calculer un nombre et voici comment.
    T5 représente un nombre de personnes, T19 un nombre de bus à commander selon le nombre inscrit en T5.
    Un bus comporte 55 places, donc si T5 est supérieur à 55 donc dans T19 il doit être inscrit 2. Entre 56 et 110 (2 bus), entre 111 et 165 (3 bus) et ainsi de suite. Dans T19 il doit toujours y avoir un nombre entier.
    Voici le code que j'ai mis en place, mais le résultat n'est pas un entier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    T19.Value=(T5.Value/55)
    Pouvez-vous m'apporter vos lumières s'il vous plait ?
    Merci par avance

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Un peu de math ca change de l'algo et du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim i As Long
    i = 111
     
    If i Mod 55 <> 0 Then
    Debug.Print (i \ 55 + 1)
    Else
    Debug.Print i / 55
    End If
    \ est la division entière

    si i n'est pas un multiple de 55 il te fau i\55 bus plus 1 pour le reste
    si i est un multiple de 55 (i mod 55=0) alors il te faut i/55 bus

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour krovax et merci

    Voici ce que j'ai fait mais cela ne fonctionne pas. Je n'ai certainement pas compris ta formule.
    Dans le code ci-dessus, lorsque je clique sur Ch1 (CheckBox) le résultat doit apparaître dans T19.
    Mais T19 reste vide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub Ch1_Click()
    Dim I As Long
    I = 111
    If I Mod 55 <> 0 Then
    Debug.Print (I \ 55 + 1)
    Else
    Debug.Print I / 55
    End If

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Techniquement mon code était juste un teste a adapter pas un code tout pret a incorporer... je lit un variable i en dure et j'ecrit le résultat dans la fenêtre d'exécution.

    Pour la version toutes prête pas de besoin de travailler les autre font le boulot

    Ca devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Ch1_Click()
    Dim I As Long
    I = T5.Value
    If I Mod 55 <> 0 Then
    T19.Value=(I \ 55 + 1)
    Else
    T19.Value=I / 55
    End If

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci pour ta réponse. C'est dur dur en ce moment et je n'avais pas tout saisi sur le moment.
    Avant de lire ta réponse j'avais modifié le code.
    Encore merci

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Y a pas de problème si j'avais mis le code brut c'est parce que je savais que tu pourrais l'adapter sans trop de problème , j'ai déjà suivit avec intérêt plusieurs de tes interventions.
    Après c'est mon coté taquin qui a repris le dessus désole

  7. #7
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Pas de problème. C'est moi qui te dois des excuses.
    Merci

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

Discussions similaires

  1. [XL-2010] Calcul avec vba excel
    Par jean1vba2013 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/04/2013, 14h48
  2. Cherche formule de calcul avec Excel
    Par NEC14 dans le forum Excel
    Réponses: 8
    Dernier message: 05/03/2009, 07h57
  3. Formule de calcul en Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/03/2009, 15h58
  4. formule de calcul avec Excel 2007
    Par linel dans le forum Excel
    Réponses: 1
    Dernier message: 22/02/2009, 09h05
  5. Formule de calcul en VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/11/2008, 11h39

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