Boucle for avec une plage de cellule
aude2222
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
cs_PaTaTe Messages postés 1471 Date d'inscription Statut Contributeur Dernière intervention -
cs_PaTaTe Messages postés 1471 Date d'inscription Statut Contributeur Dernière intervention -
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
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
1 réponse
-
Tu dis LA boucle for ne fonctionne pas mais tu en a 2.
Du coup, on ne peut pas savoir laquelle est incriminée. Je pense que c'est i cela dit.
Je connais plus VB que VBA mais aller jusqu'à 1000 cellules n'est peut être pas une bonne idée (surtout si le tableau ne va pas jusque là).
A vérifier si ceci est fonctionnel (ça le serait en VB je pense)
For i = Cells(G2) To UBound(Cells)
ou sinon
For i = Cells(G2) To UBound(Cells(G2))
Dis moi si ça fonctionne ^^
-
-
merci pour ton aide
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 a partir de la boucle for sa ne veut pas marcher
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 -
-
mon classeur est sous cette forme
je n'arrive pas a déposer le fichier
Date_Souscription_Adhésion Date_Survenance
04/07/2015 23/07/2015
06/06/2013 23/08/2013
18/06/2014 31/03/2015
28/06/2016 04/07/2016
27/05/2014 04/04/2015
21/06/2013 06/03/2014
08/08/2015 09/10/2015
01/11/2013 12/04/2014
jai changer de code mais la condition if ne veut pas marcher auriez vous une idée?
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 G
DernLigne2 = Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row 'définit la dernière ligne colonne U
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 G
For j = 1 To Date_Survenance.Rows.Count ' boucle sur la colonne U
If Year(Date_Souscription_Adhésion.Cells) = "2013" Then
If Month(Date_Souscription_Adhésion.Cells) = 1 Then
If Year(Date_Survenance) = 2013 Then
If Month(Date_Survenance) = 1 Then
nblignes = Range("A2", Range("A7").End(xlUp)).Rows.Count 'compter le nombre de ligne
End If
End If
End If
End If
Next j
Next i
End Sub -
-