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 :

Calcul avec une variable [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut Calcul avec une variable
    Bonjours à tous

    J'ai des chiffres dans des cellules (au format nbr) avec un nombre non fixe de ligne (selon utilisation).

    J'ai des calcules a faire en fonction du nombre de ligne utilisé.
    J'ai fais le code ci-dessous mais sa marche pas.
    Je me doute que le problème vient du x dans les calcules mais je sais pas comment faire pour que sa marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        x = Range("A65536").End(xlUp).Row
        Columns("D:E").NumberFormat = "#,##0.00"
        Range("E & (x+2)").FormulaR1C1 = "=SUM(R[-x]C:R[-2]C)"
        Range("E2").FormulaR1C1 = "=RC[-1]*RC[-2]"
        Range("E2").AutoFill Destination:=Range("E2:E & x"), Type:=xlFillDefault
    Quelqu'un aurait une idée SVP
    Merci d'avance de vote aide

    .

  2. #2
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Il y avait juste des guillements mal placés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Range("E" & (x + 2)).FormulaR1C1 = "=SUM(R[-" & x & "]C:R[-2]C)"
        Range("E2").FormulaR1C1 = "=RC[-1]*RC[-2]"
        Range("E2").AutoFill Destination:=Range("E2:E" & x), Type:=xlFillDefault
    La variable x doit toujours se trouver en dehors des guillemets pour que sa valeur soit prise en compte.

  3. #3
    Membre éclairé Avatar de FCL31
    Profil pro
    Inscrit en
    Août 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 887
    Par défaut


    Impecable

    J'avais réussi une partie en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E2").AutoFill Destination:=Range("E2:E & x"), Type:=xlFillDefault

    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E2").AutoFill Destination:=Range(Cells(2, 5), Cells(x, 5)), Type:=xlFillDefault
    Merci beaucoup

    Toutefois, je ne comprend pas vraiment la formule : "=SUM(R[-" & x & "]C:R[-2]C)"
    Une petite explication SVP ??
    Merci

    .

  4. #4
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Re-bonjour,

    Par rapport à la cellule définie par Range("E" & (x + 2)) (= colonne E, ligne x+2),
    la fonction somme (SUM) est calculée dans la colonne courante, depuis la première ligne du bloc (R[-x] = x lignes au-dessus de la ligne courante)
    jusque 2 lignes avant (R[-2]).

    Une fois ce code exécuté, la fonction est traduite dans la langue d'Excel.
    Par exemple en français, si on a 10 lignes de données, la formule dans la cellule E12 sera :
    =SOMME(E2:E10)

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

Discussions similaires

  1. [XSLT 1.0] Calcul avec une variable
    Par henri93 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/07/2012, 16h58
  2. Recuperer un champ calculé dans une variable....
    Par vijeo dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 21/12/2004, 14h57
  3. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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