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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| Sub methodesansemplacements()
Dim i As Integer
Dim j As Integer
Dim Rng1 As Range
Dim Rng2 As Range
Dim LVC As Worksheet
Dim RSLT As Worksheet
Dim NbLigne As Integer
Set RSLT = ThisWorkbook.Sheets("Feuil1")
Set LVC = ThisWorkbook.Sheets("Feuil2")
Set Rng1 = RSLT.Range("A2")
Set Rng1 = Rng1.Offset(0)
Set Rng2 = LVC.Range("L1")
Set Rng2 = Rng2.Offset(0)
'Correction des cases qui sautent avec le code suivant
Range("G2:G26").Select
Range("G2:G26,G28:G53").Select
Range("G28").Activate
Selection.ClearContents
Range("K3").Select
'correction code suivant
Range("G1").Select
Selection.Copy
Range("G28").Select
ActiveSheet.Paste
Range("N27").Select
Range("A70:B73").Select
Application.CutCopyMode = False
Selection.Copy
Range("G70:G73").Select
ActiveSheet.Paste
With LVC
NbLigne = .Cells(.Rows.Count, 11).End(xlUp).Row ' On compte le nombre de lignes de l'onglet
End With
LVC.Range("$A$1:$O$" & NbLigne).RemoveDuplicates Columns:=Array(12, 14)
With LVC
NbLigne = .Cells(.Rows.Count, 11).End(xlUp).Row ' On compte le nombre de lignes de l'onglet après suppression des doublons
End With
For i = 0 To NbLigne
If (Rng2.Offset(i, 0) Like "*LVC*" Or Rng2.Offset(i, 0) Like "*RE1*") And (Rng2.Offset(i, 2) Like "*NOR*" Or Rng2.Offset(i, 0) Like "*CA*") Then ' on recherche les lignes qui contiennent RE1 ou LVC ayant un code NOR ou CA
For j = 0 To NbLigne
If Rng2.Offset(i, -7) >= Rng1.Offset(j, 1) And Rng2.Offset(i, -7) <= Rng1.Offset(j, 2) Then 'Quand la ligne est trouvée on vérifie que la date correspondante ( Rng2.Offset(1, -2) ) est comprise dans
Rng1.Offset(j, 6) = Rng1.Offset(j, 6) + 1 'la période définie par les colonnes B et C de la feuille 1
End If ' et on ajoute 1 au compteur colonne D feuille 1
Next j
End If
Next i
End Sub |