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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Aide VBA, Somme de chaque ligne d'un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide VBA, Somme de chaque ligne d'un tableau

n°2172286
recoba10
Posté le 23-01-2013 à 10:36:22  profilanswer
 

Bonjour,
 
Voila, j’ai un problème sur VBA.
Je réalise une macro me permettant de récolter des données de document Excel journalier fermés dans un tableau « virtuel ». Donc ca j’ai réussi à le faire apparemment.
Cependant je veux aussi faire apparaitre la somme de chaque ligne pour avoir, justement, le cumulé. Et c’est que ca fonctionne pas, en effet celui-ci m’affiche que des 0 la où je devrai avoir de 25,40…
 
Voici le code
 
 
Sub Cumul()
 
Dim tableau(365, 34) As Variant
Dim result(1, 34) As Variant
Dim annee As Integer
Dim somme As Variant
Dim tabb As Variant
 
Dim a As Integer
Dim i As Integer
Dim n As Integer
Dim r As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
Dim e As Integer 34b8ceb1d4
 
Set fs = CreateObject("Scripting.FileSystemObject" )
 
annee = Year(Now)
 
 
For i = 1 To 12
    For n = 1 To 31
 
    Fichier$ = "C:\Documents and Settings\9004076P\Bureau\Suivi de Chantier\Suivi de Chantier" & "_" & n & "_" & i & "_" & annee & ".xls"
    FichierBase$ = "Suivi de Chantier" & "_" & n & "_" & i & "_" & annee & ".xls"
 
    If fs.FileExists(Fichier$) = True Then
        r = r + 1
        Workbooks.Open (Fichier$)
        Workbooks(FichierBase$).Worksheets("Matériaux" ).Activate
 
            For a = 1 To 34
           
                Cellule$ = Sheets("Matériaux" ).Cells((9 + a), 3)
                tableau(r, a) = Cellule$
                 
            Next a
        Workbooks(FichierBase$).Close 'SaveChanges:=False
 
         
    End If
   Next n
Next i
 
For d = 1 To 34
    For e = 1 To 365
    tabb = tableau(e, d)
   
    result(1, d) = result(1, d) + tableau(e, d)
    Next e
Sheets("Feuil1" ).Cells(d, 7) = Val(somme) + Val(tabb)
Next d
 
End Sub
 
 
 
 
 
 
Pouvez m’aider  
Merci d’avance
 
je me suis surememnt mal exprimer, n'hesitez pas à me poser des question

mood
Publicité
Posté le 23-01-2013 à 10:36:22  profilanswer
 

n°2172416
Marc L
Posté le 23-01-2013 à 20:15:12  profilanswer
 

 
              Pas besoin de FSO pour tester l'existence d'un fichier, surtout si on l'ouvre …
 
              Je suis p't'être fatigué ce soir mais je ne comprends pas du tout la logique dans les boucles,
              que ce soit en type de variable - conversion d'une cellule en texte pour être enregistrée dans un tableau puis
              retour en nombre pour le calcul (sans compter la définition de variables en variant, autant ne pas les définir !) -
              ou dans la conception même de ces boucles : où est donc calculée la variable somme ?
              Quelle utilité quant à la variable tabb ?
 
              Bref, pour que cela fonctionne, il faut remettre la "logique" à plat pour pouvoir effectuer un code simple et efficace ...
 
              Ou encore exprimer clairement ses besoins afin que l'on puisse tenter d'apporter de l'aide …
 

n°2172656
Marc L
Posté le 25-01-2013 à 20:29:43  profilanswer
 

 
               Pas de réponse ?
 
               Bref, pour ceux qui ont besoin d'une somme d'une plage de cellules en VBA,
               rien ne sert de vouloir réinventer la roue (un peu carrée comme plus haut !)
               alors qu'Excel est un tableur et a donc ses propres fonctions ‼
 
               Exemple d'une somme de la plage D11 à H20 :

Code :
  1.   Total = WorksheetFunction.Sum([D11:H20])


               Et hop !
 


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

  Aide VBA, Somme de chaque ligne d'un tableau

 

Sujets relatifs
Aide pour Macro ExcelAide: dérouler un menu
Java, aide pour trouver fonction dans page HTML (WebBrowser inside)Tuto introductif VBA
Aide pour compiler et décompiler du Python 2.7tableau 2D dynamique
Projet tourelle besoin de votre aideTableau :/
Comment initialiser un tableau 2 dimensions de manière dynamique ?Demande d'aide URGENTE - PPT 2010
Plus de sujets relatifs à : Aide VBA, Somme de chaque ligne d'un tableau


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