macro somme d'une plage de cellule en fonction de la date

Alex52

XLDnaute Nouveau
Bonjour a tous :) et bonjour le forum

Voila j'ai de nouveau des problèmes avec une macro excel, étant novice je me suis lancé dans le code suivant(il doit y avoir beaucoup d'erreurs :D) :

Je joint aussi le fichier d'exemple pour une meilleure compréhension de mon problème

Code:
Dim onglet As Worksheet 
Dim Selectioncellule As Range 
Dim destination As Range 
Dim somme as Long
DateValue("j-mmm-aa")
Set onglet = Sheets("Feuil1") 
For Each cel In Range("A65536").End(xlUp))
    If Selectioncellule.Value = Date Then 
        With Range(Cells(Selectioncellule.Row, 2))
            "sum=(somme,ActiveCell.value)"
        End With 
    End If 
Next cel 
Set destination = onglet.Range("B65536").End(xlUp).Offset(1, 0)
destination.PasteSpecial (somme)
End Sub

Cette macro devrait faire les actions suivantes :
-faire la somme des cellules de la collone B si la date dans la collone A est égale a la date d'aujourd'hui (feuille 2)

-écrire le résultat de cette somme dans la collone B de la feuille 1 en mettant la date dans la collone A

J'espère ne pas être trop confus dans ma description et je vous remercie d'avance pour votre précieuse aide !
 

Pièces jointes

  • ACP.zip
    4.4 KB · Affichages: 82
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : macro somme d'une plage de cellule en fonction de la date

Bonjour Alex52,

J'ai fait au plus simple, dans la macro affectée au bouton de la feuille 2.
Je te laisse le soin d'étudier mon code, et je reste à ton écoute pour tout renseignement éventuel.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

  • Copie de ACP.xls
    40.5 KB · Affichages: 229

Alex52

XLDnaute Nouveau
Re : macro somme d'une plage de cellule en fonction de la date

Bonjour Papou-net : bonjour le forum :)


Merci de ta réponse Papou-net Je viens de tester ta solution (j'étais parti en week-end :D)elle fonctionne très bien maitenant j'aurais voulu rajouter une dernière petite chose :
-serait'il possible de rajouter une condition a l'execution du calcul ?
je m'explique : outre la condition sur la date j'aurais aimé pouvoir faire un autre test sur autre colonne (ex colonne D) par exemple si la valeur de la colonne D > 0 ce qui donnerait : si date = aujourd'hui et si valeur de la colonne D >0 alors je fais la somme que j'inscrit dans la colonne A de la feuille 1.

J'ai essayer d'adapter le code que tu m'as fournit sans succès :

Code:
Private Sub CommandButton1_Click()
attente = 0
cell = Range(D2:D & Range(D65536).End(xlUp).Row)
If Cells(cell.Row, 2) > 0 Then
For Each cel In Range(A2A & Range(A65536).End(xlUp).Row)
  If Cells(cel.Row, 1) = Date Then attente = attente + Cells(cel.Row, 2)
Next
With Sheets(Feuil1)
  lg = .Range(A65536).End(xlUp).Row + 1
  .Cells(lg, 1) = Date
  .Cells(lg, 2) = attente
End With
End If
End Sub

Je te remercie de m'accorder du temps pour résoudre mes petits problèmes de débutant.
 

Papou-net

XLDnaute Barbatruc
Re : macro somme d'une plage de cellule en fonction de la date

Bonjour Papou-net : bonjour le forum :)


Merci de ta réponse Papou-net Je viens de tester ta solution (j'étais parti en week-end :D)elle fonctionne très bien maitenant j'aurais voulu rajouter une dernière petite chose :
-serait'il possible de rajouter une condition a l'execution du calcul ?
je m'explique : outre la condition sur la date j'aurais aimé pouvoir faire un autre test sur autre colonne (ex colonne D) par exemple si la valeur de la colonne D > 0 ce qui donnerait : si date = aujourd'hui et si valeur de la colonne D >0 alors je fais la somme que j'inscrit dans la colonne A de la feuille 1.

J'ai essayer d'adapter le code que tu m'as fournit sans succès :

Code:
Private Sub CommandButton1_Click()
attente = 0
cell = Range(D2:D & Range(D65536).End(xlUp).Row)
If Cells(cell.Row, 2) > 0 Then
For Each cel In Range(A2A & Range(A65536).End(xlUp).Row)
  If Cells(cel.Row, 1) = Date Then attente = attente + Cells(cel.Row, 2)
Next
With Sheets(Feuil1)
  lg = .Range(A65536).End(xlUp).Row + 1
  .Cells(lg, 1) = Date
  .Cells(lg, 2) = attente
End With
End If
End Sub

Je te remercie de m'accorder du temps pour résoudre mes petits problèmes de débutant.

Bonjour Alex52,

Pas de problème, voici comment compléter le code :

Code:
Private Sub CommandButton1_Click()
attente = 0
For Each cel In Range("A2:A" & Range("A65536").End(xlUp).Row)
  If Cells(cel.Row, 1) = Date [COLOR="Red"][B]And Cells(cel.Row, 4) > 0[/B][/COLOR] Then attente = attente + Cells(cel.Row, 2)
Next
With Sheets("Feuil1")
  lg = .Range("A65536").End(xlUp).Row + 1
  .Cells(lg, 1) = Date
  .Cells(lg, 2) = attente
End With
End Sub

Bon courage.

Cordialement.
 

Alex52

XLDnaute Nouveau
Re : macro somme d'une plage de cellule en fonction de la date

Rebonjour papou-net , rebonjour le forum !

ARf j'ai rajouté la partie que vous m'avez indiquée mais maintenant le calcul ne me retourne que des "0" même lorsque la somme est sensée être supérieure a "0" j'ai essayé de comprendre pourquoi sans succès :confused:. Pouvez vous m'aidez encore un peu s'il vous plaît ? :D ( je vous joint le fichier pour que vous puissiez voir ce que je veux faire avec cette fameuse colonne D)
 

Pièces jointes

  • Copie de ACP.zip
    12.3 KB · Affichages: 94

Alex52

XLDnaute Nouveau
Re : macro somme d'une plage de cellule en fonction de la date

Bonjour a tous et Bonjour le forum !

Voila en fait le problème est règlé , je ne sais pas pourquoi cela ne fonctionnait pas hier mais aujourd'hui miracle cela fonctionne donc la correction que tu avait apporté au code était tout a fait juste , encore merci a toi Papou-net ton aide m'as été très précieuse :)
 

Discussions similaires

Réponses
1
Affichages
210
Réponses
2
Affichages
193
Réponses
1
Affichages
274

Statistiques des forums

Discussions
312 685
Messages
2 090 932
Membres
104 703
dernier inscrit
romla937