[Excel VBA] additions de plusieurs feuilles

PtitDab -  
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
je vais essayer de vous expliquer mon problème:

je suis débutante en VBA et j'ai un fichier excel avec une feuille "résumé" dans laquelle je veux additionner des plages de cellules d'autres feuilles,
en bref, je veux que dans la cellule A1 de la feuille résumé, il y ait A1 de la feuille 2 + A1 de la feuille 3 ...
Le problème est que je le nombre de feuilles n'est pas connu à l'avance.
Voici le code que j'ai mais qui ne fonctionne pas:

Sub calcul()
Dim somme(5) As Variant
Dim i As Integer
Dim j As Integer
Dim n As Integer
n = ThisWorkbook.Worksheets.Count
For i = 0 To 4
For j = 1 To n
somme(i) = somme(i) + Worksheets(j).Range("A1:A5").Cells(i).Value
Next j
Next i
Range("A1:A5").Value = somme
End Sub

L'erreur provient de la ligne "somme(i)=somme(i)+....." le débogage renvoit "erreur définie par l'application ou par l'objet"

Merci pour votre aide si précieuse
Configuration: Windows XP Internet Explorer 7.0

2 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    J'avoue ne pas avoir bien compris ce que tu cherchais à faire en lisant ton code.

    Voilà 2 méthodes qui, je pense, peuvent t'aider.

    A noter ici les méthodes parcourent les 6 premières lignes de la colonne A de chaque feuille sauf de la feuille "résumé". A toi de l'adapter si ça te convient.
    Sub test()
    Dim i As Long
    Dim j As Long
    
    For i = 1 To Worksheets.Count
        For j = 1 To 6
            If Worksheets(i).Name <> "résumé" Then
                Worksheets("résumé").Cells(j, 1).Value = Worksheets("résumé").Cells(j, 1).Value + Worksheets(i).Cells(j, 1).Value
            End If
        Next j
    Next i
    
    End Sub
    
    Sub test2()
    Dim sh
    Dim j As Long
    
    For Each sh In Worksheets
        For j = 1 To 6
            If sh.Name <> "résumé" Then
                Worksheets("résumé").Range("A" & j).Value = Worksheets("résumé").Range("A" & j).Value + sh.Range("A" & j).Value
            End If
        Next j
    Next sh
    
    End Sub
    


    Bon courage

    ;o)
    0
    1. PtitDab
       
      Bonjour Polux, le forum,

      j'ai essayé ton code et ça fonctionne nickel
      merci beaucoup
      0
      1. Polux31 Messages postés 7219 Statut Membre 1 204 > PtitDab
         
        Salut,

        De rien, bon courage pour la suite

        ;o)
        0
  2. PtitDab
     
    Merci Polux
    j'essaierai ca demain et je te tiens au courrant.
    Bonne soirée
    0