Bonjour,
Je souhaiterais créer une fonction qui, appliquée à une cellule (par exemple
B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes
les cellules B2 du classeur, la feuille x étant la dernière.
Je butte sur le code dont voici l'ébauche :
Function cumuler()
r = ActiveCell.Row
c = ActiveCell.Column
n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n
Sheets(a).Select
ActiveCell(r, c).Select
ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value
Next a
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule (pa r exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a
End Function
Merci de m'apporter votre aide.
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du
dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range)
Application.Volatile
t = 0
For s = début To fin
t = t + Sheets(s).Range(c.Address)
Next s
SommeOnglet = t
End Function
Function SommeCouleurOnglet(coul, c As Range)
Application.Volatile
t = 0
For s = 1 To Sheets.Count
If Sheets(s).Tab.ColorIndex = coul Then
t = t + Sheets(s).Range(c.Address)
End If
Next s
SommeCouleurOnglet = t
End Function
Cordialement JB
Bonjour,
Je souhaiterais créer une fonction qui, appliquée à une cellule (pa r exemple
B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes
les cellules B2 du classeur, la feuille x étant la dernière.
Je butte sur le code dont voici l'ébauche :
Function cumuler()
r = ActiveCell.Row
c = ActiveCell.Column
n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n
Sheets(a).Select
ActiveCell(r, c).Select
ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value
Next a
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule (pa r exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a
End Function
Merci de m'apporter votre aide.
ChristianM
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les valeurs : feuil12" suivi d'un explorateur de dossier. Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc...
"JB" a écrit dans le message de news:
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule (par exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a
End Function
Merci de m'apporter votre aide.
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et
j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les valeurs :
feuil12" suivi d'un explorateur de dossier.
Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc...
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1152109821.989107.298340@75g2000cwc.googlegroups.com...
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du
dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range)
Application.Volatile
t = 0
For s = début To fin
t = t + Sheets(s).Range(c.Address)
Next s
SommeOnglet = t
End Function
Function SommeCouleurOnglet(coul, c As Range)
Application.Volatile
t = 0
For s = 1 To Sheets.Count
If Sheets(s).Tab.ColorIndex = coul Then
t = t + Sheets(s).Range(c.Address)
End If
Next s
SommeCouleurOnglet = t
End Function
Cordialement JB
Bonjour,
Je souhaiterais créer une fonction qui, appliquée à une cellule (par
exemple
B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes
les cellules B2 du classeur, la feuille x étant la dernière.
Je butte sur le code dont voici l'ébauche :
Function cumuler()
r = ActiveCell.Row
c = ActiveCell.Column
n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n
Sheets(a).Select
ActiveCell(r, c).Select
ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value
Next a
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les valeurs : feuil12" suivi d'un explorateur de dossier. Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc...
"JB" a écrit dans le message de news:
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule (par exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme toutes les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a
End Function
Merci de m'apporter votre aide.
JB
=SOMME(Janvier:Décembre!B2)
Si les onglets s'appelent Janvier,Février,Mars,.., Décembre:
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les val eurs : feuil12" suivi d'un explorateur de dossier. Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc. ..
"JB" a écrit dans le message de news:
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule ( par exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme tout es les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a
End Function
Merci de m'apporter votre aide.
=SOMME(Janvier:Décembre!B2)
Si les onglets s'appelent Janvier,Février,Mars,.., Décembre:
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et
j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les val eurs :
feuil12" suivi d'un explorateur de dossier.
Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc. ..
"JB" <boisgontier@hotmail.com> a écrit dans le message de news:
1152109821.989107.298340@75g2000cwc.googlegroups.com...
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du
dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range)
Application.Volatile
t = 0
For s = début To fin
t = t + Sheets(s).Range(c.Address)
Next s
SommeOnglet = t
End Function
Function SommeCouleurOnglet(coul, c As Range)
Application.Volatile
t = 0
For s = 1 To Sheets.Count
If Sheets(s).Tab.ColorIndex = coul Then
t = t + Sheets(s).Range(c.Address)
End If
Next s
SommeCouleurOnglet = t
End Function
Cordialement JB
Bonjour,
Je souhaiterais créer une fonction qui, appliquée à une cellule ( par
exemple
B2) de la feuille x (je ne connais pas le nombre de feuille) somme tout es
les cellules B2 du classeur, la feuille x étant la dernière.
Je butte sur le code dont voici l'ébauche :
Function cumuler()
r = ActiveCell.Row
c = ActiveCell.Column
n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n
Sheets(a).Select
ActiveCell(r, c).Select
ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value
Next a
Merci JB mais j'ai essayé tout d'abord la première solution (sansVBA) et j'ai une fenêtre qui s'ouvre avec en en-tête "Mettre à jour les val eurs : feuil12" suivi d'un explorateur de dossier. Celà vient-il du fait que mes feuilles sont nommées Janv, Fév, etc. ..
"JB" a écrit dans le message de news:
Bonjour,
En dur: =SOMME(Feuil1:Feuil5!B2)
En matriciel: si B2 contient le no du premier onglet et D2 le no du dernier onglet (H2:Hn.. contient les noms des onglets):
Function SommeOnglet(début, fin, c As Range) Application.Volatile t = 0 For s = début To fin t = t + Sheets(s).Range(c.Address) Next s SommeOnglet = t End Function
Function SommeCouleurOnglet(coul, c As Range) Application.Volatile t = 0 For s = 1 To Sheets.Count If Sheets(s).Tab.ColorIndex = coul Then t = t + Sheets(s).Range(c.Address) End If Next s SommeCouleurOnglet = t End Function
Cordialement JB
Bonjour, Je souhaiterais créer une fonction qui, appliquée à une cellule ( par exemple B2) de la feuille x (je ne connais pas le nombre de feuille) somme tout es les cellules B2 du classeur, la feuille x étant la dernière. Je butte sur le code dont voici l'ébauche :
Function cumuler() r = ActiveCell.Row c = ActiveCell.Column n = Worksheets.Count
ActiveCell.Value = 0
n = n - 1
For a = 1 To n Sheets(a).Select ActiveCell(r, c).Select ActiveCell.Value = ActiveCell.Value + ActiveCell(r, c).Value Next a