rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Formule vba avec variable ?

Posté par bruyaso, le vendredi 4 janvier 2008 à 10:01:00
Bonjour,

J'ai un petit pb concernant les formules sous vba avec un nombre variable d'éléments.

Ex :

Je souhaite faire la somme d'une plage variable
Range( Cells ( 2, 2) , Cells (2, i ))


Je n'arrive pas mettre cette valeur dans une cellule A1
J'ai essayé en faisant :
Range("A1").Formula = "=SUM(A" & 1 & ":" & i & "2")"


Mais ça ne fonctionne pas car les variables sont sur les colonnes (pb ac les chiffres)

Existe t il une manière d'écrie une formul un peu dans l'esprit :

Range(Cells(R,i),Cells(R,i)).Formula= "="SUM("&Range(Cells(6,9),Cells(R,i))&­;")"


Merci beaucoup
Configuration: Windows XP
Firefox 2.0.0.11
Répondre à bruyaso  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ego, le vendredi 4 janvier 2008 à 11:53:02
dim x as integer, y as integer

x = 5
y = 2
Range("A1").Select
ActiveCell.Formula = "=SUM($B$" & y & ": $B$" & x & ")"

End Sub
pour la colonne B de y a x 'B2 a B5
tu peux changer les chiffres, y a pas de copyright
:o)
Répondre à ego

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bruyaso, le vendredi 4 janvier 2008 à 12:03:03
Merci Ego,

Je suis d'accord avec toi, mais si la variable est la colonne et non la ligne ça fonctionne comment ?

Dans ton exemple :
 ActiveCell.Formula = "=SUM($B$" & y & ": $B$" & x & ")" 


Ma variable serait la colonne soit B

Merci pour votre aide
Répondre à bruyaso

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ego, le vendredi 4 janvier 2008 à 13:06:39
tu peux donner la valeur ascii de la lettre fonction chr() et incrementer la variable caractere 65 pour A, 66 pour B etc ...
ActiveCell.Formula = "=SUM($ " chr(66) & "$" & y & ": $ " & chr(66) & "$" & x & ")"
voili ;o)
Répondre à ego

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ego, le vendredi 4 janvier 2008 à 13:09:15
bien sur, tu peux mettre le code ASCII du caractere enn variable, ce qui ferait SUM($ " & chr(x) & " avec x=66
Répondre à ego

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
ego, le vendredi 4 janvier 2008 à 13:30:19
attention a bien separer tes definitions de variables par " & mavariable & " sinon ca marche po
Répondre à ego

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bruyaso, le vendredi 4 janvier 2008 à 14:15:00
Merci Ego,

ça semble parfait....

Je fait un check générale, mais tu m'aides vraiment

A bientôt
Répondre à bruyaso

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 bruyaso, le vendredi 4 janvier 2008 à 18:40:28
Après Vérif j'ai toujours un problème :

ActiveCell.Formula = "=SUM($ " chr(66) & "$" & y & ": $ " & chr(66) & "$" & x & ")" 

C'est valable pour les colonnes allant de A à Z, mais comment faire si mes colonnes variables vont de AA à ZA ?

Merci bcp
Répondre à bruyaso
Logiciels pertinents trouvés dans les téléchargements
Télécharger Coloriage 1.1.4Coloriage - Coloriage est un logiciel de coloriage pour jeunes enfants, à la manière de Tux Paint . Il répertorie quelque 220 dessins à...Catégorie: Dessin
Licence: Freeware/gratuit
Télécharger GANTT Project 2.0.7GANTT Project - GanttProject est un outil de gestion de projet libre, permettant de réaliser des diagrammes de GANTT afin de planifier un...Catégorie: Gestion de projet
Licence: Open Source
Télécharger Visual Basic Express 2005 2005Visual Basic Express 2005 - Le langage de programmation Visual Basic est historiquement dans les gènes de la société Microsoft. Avec plus de 30.000...Catégorie: Visual Basic
Licence: Freeware/gratuit
Télécharger VB Editor 2.0VB Editor - Décompileur de fichiers exécutables compilés avec Visual Basic 5 ou 6 Catégorie: Visual Basic
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « Formule vba avec variable ? »