Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 29/06/2009, 16h44   #1
Invité de passage
 
Étudiant
Inscription : mai 2009
Messages : 11
Détails du profil
Informations personnelles :
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 11
Points : 4
Points : 4
Envoyer un message via MSN à trigger00
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 :
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
trigger00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h49   #2
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
Bonjour,
le mot clef concaténation (fait une recherche google) pour VBA c'est le &

Code :
cells(1,1).formula = "=sum(Range(" & Cells(i,j).address & ":" &Cells(k,l).address & ")"
Par contre tesparenthèse ce n'était pas ca
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2009, 08h34   #3
Invité de passage
 
Étudiant
Inscription : mai 2009
Messages : 11
Détails du profil
Informations personnelles :
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 11
Points : 4
Points : 4
Envoyer un message via MSN à trigger00
Bonjour, je tiens tout d'abord à te remercier pour ta réponse, elle me semble correcte cependant elle me retourne une erreure :

Citation:
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 :
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
trigger00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2009, 08h44   #4
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
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 :
Cells(NbLigneMax + 1, k).Formula = "=sum(" & Cells(LigneSynt + 1, k).Address & ":" & Cells(NbLigneMax, k).Address & ")"
ou avec range
Code :
Cells(NbLigneMax + 1, k).Formula = "=sum(" & Range( Cells(LigneSynt + 1, k),Cells(NbLigneMax, k)).Address & ")"
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2009, 08h49   #5
Invité de passage
 
Étudiant
Inscription : mai 2009
Messages : 11
Détails du profil
Informations personnelles :
Âge : 21

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2009
Messages : 11
Points : 4
Points : 4
Envoyer un message via MSN à trigger00
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.
trigger00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2009, 09h20   #6
Membre confirmé
 
Inscription : octobre 2007
Messages : 232
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 232
Points : 235
Points : 235
Bonjour,

un peu plus compacte :

Code :
Cells(NbLigneMax + 1, K).FormulaR1C1 = "=SUM(R" & LigneSynt & "C:R[-1]C)"
mapeh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 19h35.


 
 
 
 
Partenaires

Hébergement Web