help me !!! - VB/VBA/VBS - Programmation
Marsh Posté le 14-04-2004 à 10:14:09
Je voudrais créer une macro me permettant d'aller à la dernière ligne + 1
d'une colonne X et d'y faire un total ?
Par exemple, pour mettre la somme des cellules A2:Ax (Ax = dernière
cellule remplie de la colonne A):
With Range("A2", [A:A].Find("*", [A1], , , , xlPrevious))
.Item(.Count + 1).Formula = "=SUM(" & .Address(0, 0) & " )"
End With
source:
http://dj.joss.free.fr/faq.htm#variableREF
sbedhy
Marsh Posté le 14-04-2004 à 16:04:43
merci ca marche,
maintenant je rebloque
parce qu'en fait il ne me le fait que sur ma premiere colonne et je voudrais pouvoir le faire pour chaque de mon tableau
Marsh Posté le 14-04-2004 à 16:20:57
voila ce que ca donne
For Each c In Range(Cells(1, 1), Cells(1, 1).End(xlToRight))
b = b + 1
With Range("A1", [A:A].Find("*", [A1], , , , xlPrevious))
.Item(.Count + 1).Formula = "=SUM(" & .Address(0, 0) & " )"
End With
Next
End Sub
merci d'avance, ca m'aiderais beaucoup a comprendre
parce que je tourne en rond
Marsh Posté le 14-04-2004 à 16:52:30
voila j'ai modifier
With Range("A1", [A:A].Find("*", [A1], , , , xlPrevious))
par
With Range(c, [A:A].Find("*", [A1], , , , xlPrevious))
ca me donne le resultat dela premiere colonnes ensuites celle de la premiere plus la deuxiemeet tjrs ds la premiere colonne
en fait je voudrais que ca donne le resultat de chaque colonnes a la fin de chaque colonnes!
je commence a un peu mieux a m'ensortir mais c pas encore trop ca donc, voili je dmande
merci pour vos conseils
Marsh Posté le 14-04-2004 à 17:00:42
il faut que tu trouve un moyen de faire varier les A que tu a dans la formule.. enfin, je pense que ca vient de la.. par contre pas d'idée sur la méthode... dsl..
Marsh Posté le 14-04-2004 à 17:07:53
oui je pense aussi que ca viens de la
mais bon je vais me creuser un peu le cerveau
je te remercie beaucoup
Marsh Posté le 14-04-2004 à 18:23:05
bon j'ai trouver un truc pas mal, ca marche pour trois mais si j'avais 2000 colonnes je suis mort!!! lol !!!
voila a quoi ca ressemble
Sub TestJuju()
b = 0
For Each c In Range(Cells(1, 1), Cells(1, 1).En
d(xlToRight))
Dim b1 As Range
Set b1 = Range("A:A" )
If (b = 0) Then A$ = "A1"
If (b = 1) Then A$ = "B1": Set b1 = Range("B:B" )
If (b = 2) Then A$ = "C1": Set b1 = Range("C:C" )
b = b + 1
With Range(A$, [b1].Find("*", , , , , xlPrevious))
.Item(.Count + 1).Formula = "=SUM(" & .Address(0, 0) & " )"
End With
Next
End Sub
comment en vb faire ça "int i =65+b;char a$=i;a$[1]='1'; ?????"
et si c'est bon pour celui la il faut mettre l'adresse relative de la range en cours ??
Marsh Posté le 14-04-2004 à 21:15:20
personne peu m'aider parce que je boucle vraiment la
si vous avez une idée
merci beaucoup
Marsh Posté le 14-04-2004 à 21:53:47
bon ben voila j'ai trouver la solution mon pere ma beaucoup aider
voila ce que ca donne
Sub TestJuju()
b = 0
Dim b1 As Range
For Each c In Range(Cells(1, 1), Cells(1, 1).End(xlToRight))
r2 = Chr$(65 + b) + ":" + Chr$(65 + b)
A$ = Chr$(65 + b) + "1"
Set b1 = Range(r2)
b = b + 1
With Range(A$, [b1].Find("*", , , , , xlPrevious))
.Item(.Count + 1).Formula = "=SUM(" & .Address(0, 0) & " )"
End With
Next
End Sub
mais bon sur quelque taleau ca fait un message d'erreur a la fin (derniere colonne)
mais sinon c bon!!!
je te remercie "sbedhy", tu m'as beaucoup aidé
essayer c nikel !!!
@+ pour de nouvelles aventures !!!!
Marsh Posté le 14-04-2004 à 10:04:02
salut,
voila je viens de me lancer sur visual basic, mon pere ma demander de faire un ptit programme qui est le suivant
ca va vous parraitre peut etre basic mais bon !!!
j'ai une feuille excel avec plein de chiffres et je dois faire une macro qui me donnerai le resultat de chaque colonne et a la fin, mais il se peut que j'en rajoute apres qui devras s'ajouter au resultat je vous montre ce que j'ai deja taper mais la je bloque....
Sub TestJuju()
b = 0
For Each c In Range(Cells(1, 1), Cells(1, 1).End(xlToRight))
With c
b = b + 1
Cells(11, b) = 0
Select Case .Value
Case "", 0: .EntireColumn.Hidden = True
Case Else: .EntireColumn.Hidden = False
Rem LaSomme = Application.Sum(.EntireColumn)
Rem a=Cells(1,b);
Rem b$ = Cells(1, b).End(xlAtBottom)
Rem Cells(11, b).FormulaR1C1 = "=SUM(Cells(1, b):.End(xltoright))"
Cells(11, b).FormulaR1C1 = "=SUM(R[-10]C:R[-1]C)"
Rem MsgBox LaSomme
Rem Cells(11, b) = LaSomme
End Select
End With
Next
End Sub
je vous remercie d'avance si vous avez des conseilles !!!!!