Problème code

Bonjour à tout

J’ai une petite question en vba

J’ai un fichier excel comme suit (raccourci ma base est plus grande)

Numéro police Date de souscription Date de survenance

N° 03/03/2012 03/05/2012

N° 06/05/2015 06/09/2015

N° 05/09/2013 05/12/2013

N° 03/09/2012 07/09/2012

N° 04/04/2014 04/09/2014

J’ai envie de calculer le nombre de sinistre

C’est pourquoi dans un premier temps j’ai déclarer mes variables, ensuite activer la feuille que je vais utiliser, après je donne les plages de valeurs à mes variables.

Ensuite je fais plusieurs conditions : si l’année de ma date de souscription =2012 et si le mois c’est janvier et si l’année de ma date de survenance =2012 et le mois janvier alors calculer le nombre de ligne

Ensuite j’ai envie de stocker le résultat une autre feuille

Mais mon code ne marche pas si quelqu’un pouvait m’aider

Merci beaucoup

Voici mon code

Public Sub Sinistre_Decl()

Dim Nombre_Sinistre_Declare As Integer

Dim Date_Souscription_Adhésion As Range

Dim Numéro_Police As Range

Dim Date_Survenance As Range

Dim somme As Long

Dim nbligne As Integer

Dim Date_Annee_Mois As String

Set Date_Souscription_Adhésion = Range("G2:G1515")

Set Numéro_Police = Range("A2:A1515")

Set Date_Survenance = Range("U2:U1515")

Worksheets("Sinistre").Activate

'If Date_Souscription_Adhésion = [01/01/2013 : 31/01/2013] Then

If Year(Date_Souscription_Adhésion) = "2013" Then

If Month(Date_Souscription_Adhésion) = 1 Then

If Month(Date_Survenance) = "2013" Then

If Month(Date_Survenance) = 1 Then

'nbLignes = Range("U2", Range("U1048576").End(xlUp)).Rows.Count

nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

End If

End If

End If

End If

'ElseIf Month(Date_Survenance) = 2 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 3 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 4 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 5 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 6 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 7 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 8 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 9 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 10 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'ElseIf Month(Date_Survenance) = 11 Then

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'Else: Month(Date_Survenance) = 12

'nbligne = Worksheets("Sinistre").Range(Worksheets("Sinistre").Range("U2").Address & ":" & Worksheets("Sinistre").Range("U2").End(xlDown).Address).Rows.Count

'End If

'End If

'commentaire en C1

Range("C1") = nbligne

'faire la somme des nbligne

For somme = 1 To Cells(Rows.Count, 2).End(xlUp).Row

Range("F1" & i).Value = Application.WorksheetFunction.Sum(Range("C1" & i & "C1000" & i))

Next somme

'faire un copier

Worksheets("Feuil4").Activate

'faire un coller

'on fait la mm chose avec les autres mois

End Sub

Bonjour Aude,

bon, on recommence!

Explique un peu plus clairement ce que tu veux!

  • le nombre total de sinistres ?
  • le nombre de sinistres par année ?
  • le nombre de sinistres par mois ?

La date de survenance est, je suppose, la date d'un sinistre ?

Et, pour finir : un fichier, même réduit, sera toujours le bienvenu!

A+

Rechercher des sujets similaires à "probleme code"