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

RESOLU : Calcul automatique à une période précise

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

M

MARI

Guest
Bonjour à tous,

Je cherche à calculer de manière automatique une donnée à chaque fin de mois sans que personne n'est à intervenir sur le fichier.

Le but est d'obtenir une somme (ici de volume) de tous ce qui reste à traiter à la fin du mois : donc le 31 janvier ou le jour suivant ou le fichier est ouvert le fichier calculerai la somme de la colonne F de la feuille suivi et il faudrait que se calcule se reproduise tous les mois sans changer les valeurs déjà calculées les mois précédents.

j'ai commencé un bout de code mais n'y connaissant rien en vba, je galère.

Quelqu'un peut-il me venir en aide ?

Je vous transmets un fichier test avec ce que j'ai commencé à faire.
Merci d'avance,

Cordialement,

Mari
 

Pièces jointes

Dernière modification par un modérateur:
Re : Calcul automatique à une période précise

Bonjour et bienvenue sur le forum

Si j'ai bien compris :
Lorsque on ouvre le fichier excel le premier jour du mois, on calcule la somme des volume du mois précédant. Le résultat doit çetre mis dans quel tableau ?

JP
 
Re : Calcul automatique à une période précise

Bonjour,

oui c'est bien le calcul que je souhaite que le fichier effectue de façon automatique (le 1 jour du mois c'est l'idéal sinon le premier jour suivant ou le fichier sera ouvert sachant qu'il ne sera pas automatiquement ouvert tous les 1er de chaque mois)
Je souhaite que le calcul s'effectue dans la feuille nommée "gestion déchets site" des cellules D22 a D33 (D22 correspondant à la fin du mois de janvier, d23 à la fin du mois de février ...)
J'espere avoir été assez précise.

Merci d'avance,

Mari
 
Re : Calcul automatique à une période précise

Bonsoir

Ci joint un fichier qui devrait correspondre au problème posé.
Si on modifie l'emplacement des lignes et colonnes, il suffit de modifier les variables publiques.

A tester

JP
 

Pièces jointes

Re : Calcul automatique à une période précise

Bonjour,

Tout d'abord merci pour cette réponse rapide et du temps passé sur mon problème.
Je me suis mal exprimée dans mon besoin, dsl, en fait ce que je cherche à calculer c'est la somme de toutes les valeurs contenu dans la colonne F peut importe la date de la colonne B
a la fin du mois de janvier ca vient en d22 ; février d23 pour finir au mois de décembre en D33
Ici on devrait obtenir 1783 en D31 et non 1500 (ici prise en compte uniquement des valeurs où la date en colonne b correspond au mois voulu alors qu'il faudrait prendre en compte toute les valeurs peut importe la date en B)

Merci en tout cas pour l'aide apportée.

Mari.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Calcul automatique à une période précise

Bonjour

Voici les macros modifiées, il suffit de supprimer les tests.
Code:
Private Sub Workbook_Open()
Dim Cellule As Range

Dim Mois1 As Byte
Dim Annee1 As Integer
Dim offset1 As Byte
offset1 = Int(Asc(Depcol2) - Asc(Datcol2))
' vérification si mois denier ecrit

Mois1 = Month(Date) - 1
Annee1 = Year(Date)
If Mois1 = 1 Then Annee1 = Annee1 - 1' en janvier on calcule pour le mois de décembre
With Sheets(Noms2)
For Each Cellule In .Range(Datcol2 & Datlig2 & ":" & Datcol2 & .Range(Datcol2 & .Rows.Count).End(xlUp).Row)
    
    If CInt(Year(Cellule.Value)) = Annee1 Then
        If CByte(Month(Cellule)) = Mois1 Then
            If Cellule.Offset(0, offset1) = "" Or Cellule.Offset(0, offset1) = 0 Then
                Cellule.Offset(0, offset1) = calcul()
            End If
        End If
    End If
Next Cellule

End With
End Sub
Private Function calcul() As Single
Dim Cellule As Range

With Sheets(Noms1)
For Each Cellule In .Range(Depcol1 & Datlig1 & ":" & Depcol1 & .Range(Depcol1 & .Rows.Count).End(xlUp).Row)

            calcul = CSng(Cellule) + calcul
    
Next Cellule

End With

End Function

Bonne journée

JP
 
Re : Calcul automatique à une période précise

Rebonjour,

Cela fonctionne !!
Je n'ai pas tout compris à la macro mais ca marche très bien.
Merci beaucoup pour cette aide précieuse et le temps passé sur cette macro, ça m'avance beaucoup dans ce que je dois faire.

Bonne fin de journée et merci encore,

M.
 
Re : RESOLU : Calcul automatique à une période précise

Bonjour JP, le forum,

Tout d'abord je vous souhaite à tous une excellente année 2012, santé, bonheur, joie....

J'ai un petit soucis avec le code que vous m'avez écrit
En effet la donnée du mois de décembre ne se calcule pas, j'ai essayé quelques modifications mais rien ne se passe...
Je voulais savoir si vous pouviez m'accorder encore un peu de votre temps pour m'aider ?

Merci d'avance.

A bientot

Mari
 
Re : RESOLU : Calcul automatique à une période précise

Bonjour et Bonne et heureuse année

Ci dessous la ligne à modifier

Code:
If Mois1 = 1 Then Annee1 = Annee1 - 1
remplacer par
Code:
If Mois1 = 0 Then
    Annee1 = Annee1 - 1
    Mois1 = 12
End If

A tester

JP
 
- 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
12
Affichages
638
Réponses
10
Affichages
329
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…