Bonjour à tous ! après avoir cherché et testé, je n'arrive pas à mettre une macro somme_gras pour le total des valeurs en gras, en D16 des cellules D4 à D15, ensuite la même chose pour Fevrier, mars, etc... et ceci sur les jours suivants, mardi, mercredi, etc...
sachant que les chiffres en gras correspondent aux sommes encaissées.
J'ai testé la formule suivante :
Function Somme_gras(Plage_donnees As Range)
Dim somme As Double
Dim cellule As Range
somme = 0
For Each cellule In Plage_donnees
If (IsNumeric(cellule.Value) And (cellule.Font.Bold)) Then
somme = somme + cellule.Value
End If
Next cellule
Somme_gras = somme
End Function
Chaque fois, j'ai le message suivant "end sub" attendu.
Voici comment je procède :
je clique sur D16, enregistrer une macro, Macro 1, ce classeur, description : cellule gras, ok
et je colle la formule entre sub Macro() et End sub ce qui donne ceci :
Sub Macro1()
Function Somme_gras(Plage_donnees As Range)
Dim somme As Double
Dim cellule As Range
somme = 0
For Each cellule In Plage_donnees
If (IsNumeric(cellule.Value) And (cellule.Font.Bold)) Then
somme = somme + cellule.Value
End If
Next cellule
Somme_gras = somme
End Function
End Function
là à partir de cet instant je pense que je ne fais pas tout ce qui doit être fait, je ferme la fenêtre et j'arrête le script ? Bon ou pas bon ? et là il me met erreur de compilation End sub attendu ...
Merci de votre aide !
sachant que les chiffres en gras correspondent aux sommes encaissées.
J'ai testé la formule suivante :
Function Somme_gras(Plage_donnees As Range)
Dim somme As Double
Dim cellule As Range
somme = 0
For Each cellule In Plage_donnees
If (IsNumeric(cellule.Value) And (cellule.Font.Bold)) Then
somme = somme + cellule.Value
End If
Next cellule
Somme_gras = somme
End Function
Chaque fois, j'ai le message suivant "end sub" attendu.
Voici comment je procède :
je clique sur D16, enregistrer une macro, Macro 1, ce classeur, description : cellule gras, ok
et je colle la formule entre sub Macro() et End sub ce qui donne ceci :
Sub Macro1()
Function Somme_gras(Plage_donnees As Range)
Dim somme As Double
Dim cellule As Range
somme = 0
For Each cellule In Plage_donnees
If (IsNumeric(cellule.Value) And (cellule.Font.Bold)) Then
somme = somme + cellule.Value
End If
Next cellule
Somme_gras = somme
End Function
End Function
là à partir de cet instant je pense que je ne fais pas tout ce qui doit être fait, je ferme la fenêtre et j'arrête le script ? Bon ou pas bon ? et là il me met erreur de compilation End sub attendu ...
Merci de votre aide !