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 :

Probleme de syntaxe avec des calculs integrant des variables


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Probleme de syntaxe avec des calculs integrant des variables
    Bonjour à tous et désolé pour le titre à ralonge mais je pense qu'il récapitule bien le soucis.

    Je débute depuis peu en vba et je voudrais savoir quelle serait la syntaxe pour un calcul du type (je souhaiterais faire la somme d'un range) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(1,1).formula = "=sum(Range(Cells(i,j)):Cells(k,l)))"
    Ayant essayé beaucoup de differentes syntaxes au cour de la journée et cela, sans résultat, je solicite votre aide.

    Cordialement,
    trigger

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Bonjour,
    le mot clef concaténation (fait une recherche google) pour VBA c'est le &

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(1,1).formula = "=sum(Range(" & Cells(i,j).address & ":" &Cells(k,l).address & ")"
    Par contre tesparenthèse ce n'était pas ca

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Bonjour, je tiens tout d'abord à te remercier pour ta réponse, elle me semble correcte cependant elle me retourne une erreure :

    Erreur d'éxecution '1004':
    Erreur définie par l'application ou par l'objet
    Je te montre la partie de mon code où j'utilise ta syntaxe:

    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
    18
    NbLigneMax = Sheets("feuil1").Cells((Range("a:a").Rows.Count), 1).End(xlUp).Row
    '++++++++++++++++++++++++++++++++++++
            'Calculs
    '++++++++++++++++++++++++++++++++++++
     
    ColSynt = Cells.Find(What:="ici").Column
    LigneSynt = Cells.Find(What:="ici").Row
     
    k = 1
     
    While Sheets("feuil1").Cells(1, k).Value <> ""
     
    Cells(NbLigneMax + 1, k).Formula = "=sum(Range(" & Cells(LigneSynt + 1, k).Address & ":" & Cells(NbLigneMax, k).Address & ")"
     
     
    k = k + 1
     
    Wend
    Je ne sais pas trop où chercher mais l'erreur se trouve sur la ligne du calcul...

    Cordialement,
    Trigger

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

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Quand on rentre une formule dans excel on utilise pas le mot range ok? donc pareil quand ou utilise formula
    (je dit ca mais j'avais oublié de l'enlever )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(NbLigneMax + 1, k).Formula = "=sum(" & Cells(LigneSynt + 1, k).Address & ":" & Cells(NbLigneMax, k).Address & ")"
    ou avec range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(NbLigneMax + 1, k).Formula = "=sum(" & Range( Cells(LigneSynt + 1, k),Cells(NbLigneMax, k)).Address & ")"

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Encore un coup je trouve ce forum assez extraordianire, deuxieme fois que je poste et deuxieme que j'ai une réponse claire, nette et précise.

    Merci beaucoup pour ton aide,
    Cordialement,
    Trigger.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 266
    Points : 348
    Points
    348
    Par défaut
    Bonjour,

    un peu plus compacte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(NbLigneMax + 1, K).FormulaR1C1 = "=SUM(R" & LigneSynt & "C:R[-1]C)"

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

Discussions similaires

  1. Ajout de ligne et de colonnes avec prise en compte des calculs
    Par sab_info dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/01/2013, 16h51
  2. TCD avec champ calculé sur des champs nombre
    Par Scrabblouille dans le forum Excel
    Réponses: 0
    Dernier message: 06/10/2011, 20h16
  3. Problèmes avec des calculs sur des doubles
    Par Tora21 dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 20/06/2011, 13h40
  4. Prob avec les calcules dans des tables fils
    Par lou_delphdev dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/07/2007, 07h55
  5. DataColumn avec un calcul sur des dates
    Par GeantVert13 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 24/10/2006, 21h19

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