Calcul du nombre de ligne

aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je suis débutante en VBA j'ai une petite question
j'ai envie de calculer le nombre de sinistre que j'ai par mois mais sa ne marche pas si vous pouviez m'aider
merci
mon classeur excel est sous la forme
Date_Souscription_Adhésion en colonne a
04/01/2013
06/01/2013
18/01/2013
28/01/2013
27/01/2013
21/01/2013
08/01/2013

Date_Survenance en colonne b
23/07/2013
23/02/2013
31/01/2013
04/09/2013
01/02/2013
06/03/2013
09/01/2013



voici mon code

Sub test()

Dim Date_Souscription_Adhésion As Range 'définit les variables
Dim Date_Survenance As Range
Dim i As Integer
Dim j As Integer
Dim DernLigne1 As Long
Dim DernLigne2 As Long
Dim nblignes As Integer

Worksheets("Feuil1").Activate

DernLigne1 = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row 'définit la dernière ligne colonne A
DernLigne2 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row 'définit la dernière ligne colonne B

Set Date_Souscription_Adhésion = Sheets("Feuil1").Range("A2:A" & DernLigne1) 'définit la colonne A
Set Date_Survenance = Sheets("Feuil1").Range("B2:B" & DernLigne2) 'définit la colonne B

nblignes = 0
' nblignes2 = 0

For i = 1 To Date_Souscription_Adhésion.Rows.Count ' boucle sur la colonne A
For j = 1 To Date_Survenance.Rows.Count ' boucle sur la colonne B

If Year(Date_Souscription_Adhésion(i, 1)) = 2013 Then 'i étant la ligne de 2 à dernière ligne et 1 la colonne A
If Month(Date_Souscription_Adhésion(i, 1)) = 1 Then
If Year(Date_Survenance(j, 1)) = 2013 Then 'j étant la ligne de 2 à dernière ligne et 1 la colonne B
If Month(Date_Survenance(j, 1)) = 7 Then
nblignes = Range("A9").End(xlUp).Row 'compter le nombre de ligne
End If
End If
End If
If Month(Date_Souscription_Adhésion(i, 1)) = 1 Then
If Year(Date_Survenance(j, 1)) = 2013 Then 'j étant la ligne de 2 à dernière ligne et 1 la colonne B
If Month(Date_Survenance(j, 1)) = 2 Then
nblignes = Range("A9").End(xlUp).Row 'compter le nombre de ligne
End If
End If
End If
End If


Next j
Next i

MsgBox "le nombre de sinistre declarer en fevrier est" & nblignes
End Sub
A voir également:

2 réponses

cs_PaTaTe Messages postés 2126 Date d'inscription   Statut Contributeur Dernière intervention   496
 
Pourquoi ne pas avoir continué sur ton sujet précédent ?

Le code ne fonctionnait pas ?
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
non sa ne marcher pas
la sa marche juste le nombre de ligne sa ne veut pas marcher
ca ne me donne pas le bon resultat
0
cs_PaTaTe Messages postés 2126 Date d'inscription   Statut Contributeur Dernière intervention   496
 
Et en remplaçant :

nblignes = Range("A9").End(xlUp).Row 'compter le nombre de ligne

par :

nblignes = nblignes +1
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   > cs_PaTaTe Messages postés 2126 Date d'inscription   Statut Contributeur Dernière intervention  
 
non plus il ne me donne pas les bonnes valeurs
je crois quil prend pas en compte les condition if juste au ddessus
0
cs_PaTaTe Messages postés 2126 Date d'inscription   Statut Contributeur Dernière intervention   496
 
Et si tu ré-écris les If comme ceci ?

If Year(Date_Souscription_Adhésion(i, 1)) = 2013 And Month(Date_Souscription_Adhésion(i, 1)) = 1 Then

If Year(Date_Survenance(j, 1)) = 2013 And If Month(Date_Survenance(j, 1)) = 7 Then
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   > cs_PaTaTe Messages postés 2126 Date d'inscription   Statut Contributeur Dernière intervention  
 
comme ca:

Sub test()

Dim Date_Souscription_Adhésion As Range 'définit les variables
Dim Date_Survenance As Range
Dim i As Integer
Dim j As Integer
Dim DernLigne1 As Long
Dim DernLigne2 As Long
Dim nblignes As Integer

Worksheets("Feuil1").Activate

DernLigne1 = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row 'définit la dernière ligne colonne A
DernLigne2 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row 'définit la dernière ligne colonne B

Set Date_Souscription_Adhésion = Sheets("Feuil1").Range("A2:A" & DernLigne1) 'définit la colonne A
Set Date_Survenance = Sheets("Feuil1").Range("B2:B" & DernLigne2) 'définit la colonne B

nblignes = 0
nblignes2 = 0

For i = 1 To Date_Souscription_Adhésion.Rows.Count ' boucle sur la colonne A
For j = 1 To Date_Survenance.Rows.Count ' boucle sur la colonne B

If Year(Date_Souscription_Adhésion(i, 1)) = 2013 And Month(Date_Souscription_Adhésion(i, 1)) = 1 Then 'i étant la ligne de 2 à dernière ligne et 1 la colonne A
If Year(Date_Survenance(j, 1)) = 2013 And Month(Date_Survenance(j, 1)) = 7 Then 'j étant la ligne de 2 à dernière ligne et 1 la colonne B
nblignes = nblignes + 1 'compter le nombre de ligne
End If
End If
If Year(Date_Souscription_Adhésion(i, 1)) = 2013 And Month(Date_Souscription_Adhésion(i, 1)) = 2 Then 'i étant la ligne de 2 à dernière ligne et 1 la colonne A
If Year(Date_Survenance(j, 1)) = 2013 And Month(Date_Survenance(j, 1)) = 7 Then 'j étant la ligne de 2 à dernière ligne et 1 la colonne B
nblignes = nblignes + 1 'compter le nombre de ligne
End If
End If



Next j
Next i

MsgBox "le nombre de sinistre declarer en juillet est" & nblignes
MsgBox "le nombre de sinistre declarer en fevrier est" & nblignes
End Sub
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

peut-^tre sans VBA en 5 minutes avec un tableau croisé dynamique (TCD)

https://mon-partage.fr/f/ghkvtvt2/

Aude, si cela te convient et que tu ne connais les TCD fais signe
 Michel
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
justement je dois le faire en vba
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
au debut javais fait un tcd mais c'est trop long
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Trop long pour faire un TCD ???
5 minutes c'est trop long !!!!
hé bé!
0
aude2222 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
non parce que je dois le faire pour chaque contrat et après faire un copier coller
0