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 :

[VBA-E] Calcul avec incrémentation


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 62
    Par défaut [VBA-E] Calcul avec incrémentation
    Salut

    Je travail sous excel. J'ai dans ma feuille excel dans un 3 colonnes, un certain nombres de champs générés à partir d'une base de donnée tous de meme longueur.
    Ce que je souhaiterai c'est faire un calcul de moyenne dans une 4 ème colonnes avec les données des 3 autres colonnes pour chaques lignes.

    Voici mon code que j'ai pour le moment:

    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
     
    ' Je lance une requète bidon pour pouvoir connaitre le nombre d'éléments contenu dans mes 3 colonnes pour avoir une limite à ma boucle de test
     
    SQL = "select Designation from article where utilise=2"
     
    rstcal.Open SQL, cnt
    rstcal.MoveFirst
    i = 8  ' Initialisation du compteur du champs à 8
     
    Do Until rstcal.EOF = True
    finsel1 = Range("E" & i)
    finsel3 = Range("I" & i)
    MsgBox finsel1
    Cells(i, 11) = [average(finsel1:finsel3)]
    rstcal.MoveNext
    i = i + 1
    Loop
    J'ai trouvé que en vba, on peut faire un calcul de moyenne avec la fonction average en donnant une plage de cellule (ici la plage est situé entre finsel1 et finsel2)

    Le problème c'est que je n'arrive pas à faire prendre en compte dans la fonction les coordonnées des cellules (pourtant quand on les test individuelement elle marche bien) qui en théorie devrait être bonne.

    Si quelqu'un pouvait m'aider à résoudre mon problème


    ++

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 130
    Par défaut
    Bonjour dahu29,

    le set devant les variables finsel1 et finsel3 les déclare en tant que objet

    tu utilises alors la propriété address de l'objet range pour l'insérer dans ta formule.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Do Until rstcal.EOF = True
     Set finsel1 = Range("E" & i)
     Set finsel3 = Range("I" & i)
    MsgBox finsel1
    Cells(i, 11).Formula = "=average(" & finsel1.Address(False, False) & "," & finsel3.Address(False, False) & ")"
    'ou bien
    Cells(i, 11).FormulaLocal = "=moyenne(" & finsel1.Address(False, False) & ";" & finsel3.Address(False, False) & ")"
    rstcal.MoveNext
    i = i + 1
    Loop
    tu dis
    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 62
    Par défaut
    Merci bcp ca marche nikel

    ++

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

Discussions similaires

  1. [XL-2003] Formule de calcul avec VBA Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/06/2009, 13h23
  2. VBA/SQL Calculs avec les tables
    Par jboul dans le forum VBA Access
    Réponses: 3
    Dernier message: 24/06/2008, 09h07
  3. [VBA-E]calcul avec filtre
    Par Romory dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/03/2007, 17h40
  4. [VBA-Excel] Calcul d'une formule avec une inconnue
    Par micwiss dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2006, 16h04
  5. [VBA-E]Calculer nbre de Jrs avec chevauchement de dates
    Par YoungBlood dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/06/2006, 20h55

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