macro permettant la somme d'une plage variable

G

gribouille

Guest
bonjour à tous ,
un petit coup de main me serait tres util...j'essaye de devellopper une macro permettant d'effectuer la somme d'une plage de cellule variable en fonction de divers parametres detectes dans une boucle....
Malheureusement , la Formule :
Cells(x, 2).Select
ActiveCell.FormulaR1C1 = '=SUM(R[a]C[-1]:RC[-1])'
Refuse de fonctionner avec des variables a , b Alors que lorsque je les remplace par un chiffre ca tourne!!!

Merci d'avance !!
 

soft

XLDnaute Occasionnel
Salut Gribouille,

En fait c'est quoi la question ?

Si a et b son des variables contenant le chiffre attendu :

Code:
.... '=SUM(R[' & a & ']C[-1]:R[' & b & ']C[-1])'

Sinon envoi un fichier pour comprendre ce que tu souhaites faire.

Edition :
Encore là Robert ! Je pensais que la motivation aller retomber... En plus tes réponses sont pas trop mal. Manque juste un peu d'humour mais je ne fais pas de souci, ça se perd pas comme ça !

Message édité par: soft, à: 01/11/2005 16:10
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Robert, Soft; Gribouille

Il y a du Dire Strait dans le coin ?

Bon sinon si vous voulez faire par exemple une 'Auto-Formula' dans la Colonne 'K' avec la somme de la ligne respective des colonnes 'A' à 'J', n'oubliez pas que 'Formula' est bien plus simple à gérer que 'FormulaR1C1' qui devient vite illisible...

Sub MyFormulaSansSenkikiner()
Dim a As Byte
Dim b As Byte
Dim x As Byte

a = 1
b = 10

For x = 1 To 10
    Cells(x, 11).Formula = '=SUM(' & Cells(x, a).Address(0, 0) & ':' & Cells(x, b).Address(0, 0) & ')'
Next


End Sub

Et comme je vous vois déjà poser la question pour les zéro dans les arguments de mes Address... Voici déjà la réponse pour éviter de chercher ;-)

Syntaxe
expression. Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)

Donc si j'écris
MsgBox Cells(1, 1).Address(0, 0)
J'aurai 'A1' et pas avec l'adresse absolue '$A$1' qui est La valeur par défaut (True)

Bon jour férié et bonne fêtes à tous les Saints et tout spécialement Jean
[ol]@+Thierry[/ol]

Message édité par: _Thierry, à: 01/11/2005 16:46
 

myDearFriend!

XLDnaute Barbatruc
Bonjour gribouille, soft, Robert, _Thierry,

Et si je peux me permettre, j'ajouterais que la propriété FormulaLocal est encore plus pratique puisqu'elle permet d'utiliser les formules Excel dans la langue de l'utilisateur comme sur la feuille...

...
...
      For x = 1 To 10
            Cells(x, 11).FormulaLocal = '=SOMME(' & Cells(x, a).Address(0, 0) & ':' _
                                                      & Cells(x, b).Address(0, 0) & ')'
      Next
...
Cordialement,

Message édité par: myDearFriend!, à: 01/11/2005 17:44
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Salut Didier re le Fil

Oui ce fameux FormulaLocal, mais on avait polémiqué sur le Forum First Generation et dans un souci de compatibilité à 100% on l'avait écarté.

Moi perso, je bosse en version US au bureau, et sur certaines machines à la maison aussi, alors dans ce cas plantage assuré, ou bien je devrais écrire :

Cells(x, 11).FormulaLocal = '=SUM' LOL

Mais sinon, si you are certain que l'appli restera sur des computers installé en version FR d'Excel... alors why not... Mais bon, le VBA ayant défintivement commencé to migrate me en Frenglish, perso je conseille Formula tout short,

Et pour to get le name de la Formule en english, il suffit de recorder une macro... Ou encore...

Sub What_Is_That_Formula_In_English_My_Lord()
MsgBox ActiveCell.Formula
End Sub

Mort de rire, ça fait du bien !! Mais merci à Didier, c'est toujours interressant les compléments d'info ;)

Bon Bonne Soirée, je suis sur mon nouveau bb avec la création les connections AD HOC sur les cartes WIFI en paramétrant des réseaux VPN, j'ai rien trouvé de plus simple pour mon jour férié !!

[ol]@+Thierry[/ol]
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,

Thierry, si tu n'as besoin de rien sur ton plan de création des connections AD HOC sur les cartes WIFI en paramétrant des réseaux VPN, tu sais que tu peux toujours compter sur moi... J'ai déjà fait ça il y a quelques temps juste avant de me faire virer de ma boîte d'ailleurs... Quelle coïncidence. J'avais mal interprété et j'avais connecté les AOC avec les quarts de Willy (un pote alcolo à moi) qui essayait d'infiltrer les réseaux de VRP...
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Salut mon cher Robert, re le Fil

Je suis mort de rire, ça fait du bien, car c'est pas la moitié d'un sbinzzzzzzzzzzzz cette histoire !!

Look at that !



Désolé pour la qualité c'est fait avec mon tel portable bluetooth, car j'ai aussi fait un réseau dents bleues après avoir bu de la bière blanche !

Fête de la bière l'autre soir avec des potes :




Bon allez je vais boire un coup !!! lol

Bonne Soirée à toi et à tous et toutes !

[ol]@+Thierry [/ol]
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 821
Membres
104 677
dernier inscrit
soufiane12