Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1552 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  help me !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

help me !!!

n°698892
juju13
Posté le 14-04-2004 à 10:04:02  profilanswer
 

salut, :hello:  
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 !!!!!  :)  

mood
Publicité
Posté le 14-04-2004 à 10:04:02  profilanswer
 

n°698895
sbedhy
Posté le 14-04-2004 à 10:14:09  profilanswer
 

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

n°699332
juju13
Posté le 14-04-2004 à 16:04:43  profilanswer
 

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  

n°699348
juju13
Posté le 14-04-2004 à 16:20:57  profilanswer
 

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

n°699393
juju13
Posté le 14-04-2004 à 16:52:30  profilanswer
 

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

n°699403
sbedhy
Posté le 14-04-2004 à 17:00:42  profilanswer
 

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..

n°699410
juju13
Posté le 14-04-2004 à 17:07:53  profilanswer
 

oui je pense aussi que ca viens de la  
mais bon je vais me creuser un peu le cerveau
je te remercie beaucoup

n°699506
juju13
Posté le 14-04-2004 à 18:23:05  profilanswer
 

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 ??

n°699625
juju13
Posté le 14-04-2004 à 21:15:20  profilanswer
 

personne peu m'aider parce que je boucle vraiment la  
si vous avez une idée  
merci beaucoup

n°699652
juju13
Posté le 14-04-2004 à 21:53:47  profilanswer
 

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 !!!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  help me !!!

 

Sujets relatifs
help des noms de serveurs gratuit please[help] est ce qu il existe des templates simples de sites en php?
Help (je n'arrive pas à selectionner une ligne dans ma table)help ! seekg et ifstream , ça marche pas !
Help pour compiler un programme *non limité dans le temps*HELP ! création d'une mailing list à partir d'un site web ...?
Help!! [boucle avec select][PHP] Help changement image
MasterMind en JAVASCRIPT. Help ![vba] faire la somme dans un rapport help
Plus de sujets relatifs à : help me !!!


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR