Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

somme d'une cellule dans tout un classeur

  • Initiateur de la discussion Initiateur de la discussion Gysmo
  • 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 !

G

Gysmo

Guest
Bonjour

J'ai cette macro qui fonctionne très bien sauf dans mon cas le nom des onglets s'appelle un nom ex : Pascal, André..... et non un chiffre
Dans la fonction IF quoi je doit changer pour être capable de la faire.

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

Merci
 
Re : somme d'une cellule dans tout un classeur

bonsoir Gysmo,

N'hésite pas à mettre ton code avec les balises (le bouton avec le dièse #), c'est plus lisible.

Code:
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
'pas besoin de select
'Sheets(Ctr).Select
Somme = Somme + Sheets(Ctr).Range("D1").Value
'End If
Next
' idem plus haut
'Sheets("Result").Select
Sheets("Result").Range("A1").Value = Somme
End Sub
cordialement
 
Re : somme d'une cellule dans tout un classeur

Slt Gysmo,

En effet, incrémenter un chiffre, c'est facile, mais des prénoms!!!

Une solution, mettre sur ta feuille "Result", dans un coin (ou masquer les colonnes ou lignes qu'il occupe) la liste de tes feuilles.

Puis dans ta macro :
Code:
Dim Ctr as variant
Dim Ligne as integer
Dim Colonne as integer

Colonne = [B][COLOR="Orange"]1[/COLOR][/B]
Ligne = [COLOR="Blue"][B]1[/B][/COLOR]


  For Ligne = [COLOR="Blue"][B]1[/B][/COLOR] To [COLOR="Red"][B]15[/B][/COLOR]
      Ctr = Sheets("Result").Cells(Ligne, Colonne)
  Next Ligne

En partant du principe que ta liste de feuilles se trouve :
Onglet "Result" de la cellule [A1] à [A15]

En espérant que ma proposition te permette d'avancer

A+
 
Dernière édition:
Re : somme d'une cellule dans tout un classeur

bonsoir

Ma p'tite contribution

Code:
Sub Macro1()
Dim Somme As Long
Dim Ws As Worksheet

  For Each Ws In ThisWorkbook.Sheets
    If Ws.Name <> "Result" Then
      Somme = Somme + Ws.Range("D1").Value
    End If
  Next Ws
  Sheets("Result").Range("A1").Value = Somme
End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
588
Réponses
3
Affichages
877
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…