1 pièce(s) jointe(s)
[ VBA ] IF avec Intervalles entre 2 périodes ou dates
Bonjour,
J' ai besoin de votre aide car je bloque sur une condition dans mon code VBA.
Je voudrai enfaite compter un élément dans un tableau à condition que en colonne F, la date soit comprise entre le 01/03/2016 et le 07/03/2016.
De plus la valeur en colonne I, s'incrémente dans une variable et le résultat s'affiche en cellule A1.
Dans mon exemple ci dessous, je compte combien il y a de "CC" dans la colonne G, compris entre le 01/03/2016 et le 07/03/2016 et j'additionne la valeur en colonne I.
Pièce jointe 206336
Tout fonctionne sauf le faite de faire une intervalle entre 2 dates.
Merci pour votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Sub Smme()
Dim cpt As Double
Dim jetons As String
'Worksheets("PRESTATIONS2").Activate
Range("G2").Select
Do While Not (IsEmpty(ActiveCell))
li = ActiveCell.Row
If ActiveCell.Value = "CC" And Cells(li, 8).Value >= 1 / 3 / 2016 And Cells(li, 8).Value <= 7 / 3 / 2016 Then
jetons = Cells(li, 9).Value
cpt = cpt + jetons
End If
' changer la position d'activecell
Selection.Offset(1, 0).Activate
Loop
' afficher le résultat du compteur après la boucle
Range("A1") = cpt
End Sub |
VBA équivalent du SOMME.SI compris ente 2 dates
Voici le code si ça pourrait intéresser quelqu'un
Merci beaucoup à cerede2000 pour son aide précieuse.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Sub Smme2()
Dim cpt As Double
Dim jetons As String
Dim deb As Date
Dim fin As Date
'Worksheets("PRESTATIONS2").Activate
Range("G1").Select
Do While Not (IsEmpty(ActiveCell))
li = ActiveCell.Row
If ActiveCell.Value = "A" And CDate(Cells(li, 6).Value) >= CDate("01/03/2016") And CDate(Cells(li, 6).Value) <= CDate("07/03/2016") Then
jetons = Cells(li, 9).Value
cpt = cpt + jetons
End If
' changer la position d'activecell
Selection.Offset(1, 0).Activate
Loop
' afficher le résultat du compteur après la boucle
Range("A1") = cpt
End Sub |
non mais sans dec c'est le dernier qui répond qui a raison ou quoi !
fo arreter le delire le gars on est pas là pour ca !
on est là pour aider les gens c tout !
Après chacun à son avis et son expertise et ses diverses expériences bonnes ou mauvaises. On le sait tous y a du bug et des choses parfois surprenantes mais j'attends tjs un exemple concret qui me mettrait dans un certain embarras...
Et je vous vous applaudirais tous !
Et continuons le combat ;)
Amitiés Bruno