somme de cellules sur différentes feuilles

  • Initiateur de la discussion Initiateur de la discussion clav
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

clav

XLDnaute Nouveau
Bonjour,

J'ai un classeur avec un nombre variable de feuille. Je souhaiterais faire la somme de toutes les cellules D1 des feuilles dont le nom est composé de 4 chiffres (ex : 1234) et l'afficher dans une autre feuille.
Je ne sais pas a l'avance combien de feuille il y aura, mais je sais que je veux additionner toutes les valeurs en D1 de toutes les feuilles dont le nom est composé de 4 chiffres.

Une solution?
Merci

Clav
 
Re : somme de cellules sur différentes feuilles

Bonjour,

avec "result" comme nom de feuille où apparait le résultat :

Sub Macro1()
Dim Somme As Long
Dim Ctr As Integer
Somme = 0
For Ctr = 1 To Sheets.Count
If (Sheets(Ctr).Name > 1000) And (Sheets(Ctr).Name < 9999) Then
Sheets(Ctr).Select
Somme = Somme + ActiveSheet.Range("D1").Value
End If
Next
Sheets("Result").Select
ActiveSheet.Range("A1").Value = Somme
End Sub

Et voilà,

Cordialement
Frédéric
 
Re : somme de cellules sur différentes feuilles

Merci beaucoup ! Cela correspondait également à ce que je souhaitais faire !

J'aimerais également (en utilisant le même exemple que précédemment) par exemple additionner tous les valeurs de D1 en A1 sur la feuille "result", tous les valeurs de D2 en A2, tous les valeurs de D3 en A3, etc. jusque 10.

J'ai essayé de modifier le code VBA en créant en indice qui s'incrémente de 1 à 10 mais je ne suis pas parvenu à faire ce que je voulais. Quelqu'un peut-il me m'aider ?

Merci d'avance.
 
Re : somme de cellules sur différentes feuilles

Bonjour


Une autre solution avec Like

Code:
Sub somme4()
Dim i
Dim m
For i = 1 To Sheets.Count
If Sheets(i).Name Like "####" Then
m = m + Sheets(i).Range("D1")
End If
Next i
Sheets("resultat").Range("A1") = m
End Sub

a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
441
Réponses
3
Affichages
120
Réponses
5
Affichages
127
Retour