Boucle for avec une plage de cellule

Bonjour

je voulais savoir si c possible de faire une boucle for avec une plage de cellule sur vba sachant que quand je déclare ma variable elle est en range

Dim i As Range

Dim j As Range

Set i = Range("G2:G1515")

Set j = Range("U2:U1515")

For i = Cells(G2) To Cells(1000) 'boucle pour parcourir les cellules de la date de souscription

For j = 2 To 1000 'boucle pour parcourir les cellules de la date de survenance

'condition if

next j

next i

la ma boucle for ne marche pas

merci de votre aide

Bonjour,

Place un classeur sans données perso pour travailler dessus

voila le classeur avec peu de donnée

217classeur1.xlsx (8.39 Ko)

Re,

Beau classeur, mais............... cela ne me dit pas le but de la boucle, (quoi trouver, ou afficher ???)

merci beaucoup pour ton aide (je debute en vba )

j'ai envie de calculer le nombre de ligne après plusieurs condition

pour i parcourant la plage de la date de souscription et pour j parcourant la plage de la date de survenance

si la cellule de la date de souscription est égal a janvier 2013 et si la date de survenance c'est janvier 2013 alors je compte le nombre de ligne qu'il y'a et je met la solution dans la cellule E2

voila ceux que jai fait mais sa ne marche pas

Dim Nombre_Sinistre_Declare As Integer

Dim Date_Souscription_Adhésion As Range

Dim Date_Survenance As Range

Dim somme As Long

Dim nblignes As Integer

Dim i As Integer

Dim j As Integer

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

Set Date_Survenance = Range("U2:U1515")

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

Worksheets("Sinistre").Activate

For i = Cells("G2") To Cells("G1515") 'boucle pour parcourir les cellules de la date de souscription

For j = 2 To 1000 'boucle pour parcourir les cellules de la date de survenance

If Year(Date_Souscription_Adhésion.Cells) = 2013 Then

If Month(Date_Souscription_Adhésion.Cells) = 1 Then

If Year(Date_Survenance.Cells) = 2013 Then

If Month(Date_Survenance.Cells) = 1 Then

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

End If

End If

End If

End If

next i

next j

Re,

Voilà pour la boucle, tu mettras les conditions et les résultats entre

Sub test()

    Dim F1 As Range
    Dim F2 As Range
    Dim i As Integer
    Dim j As Integer
    Dim compteur As Integer
    Dim DernLigne1 As Long
    Dim DernLigne2 As Long

    DernLigne1 = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
    DernLigne2 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
    Set F1 = Sheets("Feuil1").Range("A2:A" & DernLigne1)
    Set F2 = Sheets("Feuil1").Range("B2:B" & DernLigne2)

        For i = 1 To F1.Rows.Count
            For j = 1 To F2.Rows.Count
                'if condition
            Next j
        Next i

End Sub

Merci beaucoup

je vais essayer de comprendre ceux que vous avez fait

Re,

avec les commentaires

Sub test()

    Dim F1 As Range 'définit les variables
    Dim F2 As Range
    Dim i As Integer
    Dim j As Integer
    Dim DernLigne1 As Long
    Dim DernLigne2 As Long

    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 F1 = Sheets("Feuil1").Range("A2:A" & DernLigne1) 'définit la colonne A
    Set F2 = Sheets("Feuil1").Range("B2:B" & DernLigne2) 'définit la colonne B

        For i = 1 To F1.Rows.Count ' boucle sur la colonne A
            For j = 1 To F2.Rows.Count 'boucle sur la colonne B
                'if condition
            Next j
        Next i

End Sub

super sympa mercii

encore moi dsll

petite question

pourquoi le if il me l'accepte pas

j'ai fait: If Year(Date_Souscription_Adhésion.Cells) = 2013 Then

Re,

Plutôt

If Year(F1(i, 1)) = 2013 Then 

i étant la ligne de 2 à dernière ligne

1 la colonne A

sa marche encore merciiii


pourquoi il ne veut pas me calculer le nombre de ligne

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

    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

        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)) = 1 Then
                        nblignes = Range("A2", Range("A7").End(xlUp)).Rows.Count 'compter le nombre de ligne
                        End If
                        End If
                    End If
                End If
                MsgBox "le nombre de sinistre declarer en janvier est" & nblignes
        Next j
        Next i

End Sub
Rechercher des sujets similaires à "boucle plage"