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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| Sub FdF()
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
With Sheets("Liste des FdF")
Dim Nb_FdF As Integer 'nbr de feux
Nb_FdF = .Range("C150").End(xlUp).Row - 3
Dim Compt As Integer 'compteur pour la boucles des FdF
Compt = 4
Dim Derniere_Ligne_FdF As Integer 'N° de la derniere ligne FdF y compris les incomplets
Derniere_Ligne_FdF = .Range("C150").End(xlUp).Row
Dim List_FdF As Range 'range contenant un FdF de renseigné de B4 à B& Derniere_ligne_FdF
Set List_FdF = .Range(.Cells(4, 2), .Cells(Derniere_Ligne_FdF, 2))
Dim Météo_FdF As Range 'Range de W4 à W& Derniere_ligne_FdF
Set Météo_FdF = .Range(.Cells(4, 23), .Cells(Derniere_Ligne_FdF, 23))
End With
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
With Sheets("Param2")
Dim Tableau_Zone_Griffon As Range 'Tableau de liaison Commune -> N°_Zone_Griffon
Set Tableau_Zone_Griffon = .Range("V3:X473")
End With
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
With Sheets("Météo griffon")
Dim Derniere_Ligne_Météo_Griffon As Integer 'derniere météo Griffon
Derniere_Ligne_Météo_Griffon = .Range("C65536").End(xlUp).Row
Dim Tableau_Météo_Griffon As Range ' tableau contenant toute les météo Griffon
Set Tableau_Météo_Griffon = Range(.Cells(2, 3), .Cells(Derniere_Ligne_Météo_Griffon, 17))
Dim Liste_Météo_griffon As Range
Set Liste_Météo_griffon = Range(.Cells(2, 3), .Cells(Derniere_Ligne_Météo_Griffon, 3))
End With
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Boucle: Verification si météo griffon saisie ou pas pour chaque FdF
Dim Test_FdF As Range 'chaque cellule contenu dans la zone "List_FdF"
Dim Test_Griffon As Range 'Chaque cellule contenu dans la zone "List_Météo_Griffon"
Dim Commune_FdF As String 'Commune du FdF
Dim Date_FdF As Date 'Date du FdF
Dim N°_Zone_FdF As Integer 'N° de zone "griffon" de la "Commune_FdF"
Dim Date_Griffon As Date 'date météo griffon
Dim N°_Zone_Griffon As Integer 'N° de zone "griffon" dans "MétéoGriffon"
Dim Données_Griffon As Range 'Range à copier (en W& Compt)
Dim Compt_Griffon As Integer
Compt_Griffon = 2
For Each Test_FdF In Météo_FdF
If Test_FdF.Value = "" Then
'si la cellule "Test_cellule_météo" est vide:
Commune_FdF = Sheets("Liste des FdF").Range("G" & Compt).Value
Date_FdF = Sheets("Liste des FdF").Range("C" & Compt).Value N°_Zone_FdF = Application.WorksheetFunction.VLookup(Commune_FdF, Tableau_Zone_Griffon, 3)
Sheets("Liste des FdF").Range("AL" & Compt).Value = N°_Zone_FdF 'affichage pour verif
For Each Test_Griffon In Liste_Météo_griffon
Date_Griffon = Sheets("Météo_griffon").Range("D" & Compt_Griffon).Value
N°_Zone_Griffon = Sheets("Météo_griffon").Range("C" & Compt_Griffon).Value
If Date_Griffon = Date_FdF And N°_Zone_Griffon = N°_Zone_FdF Then
' recherche et selection des données griffon à Coller sur chaque FdF
Donnée_Griffon = Sheets("Météo_griffon").Range(Cells(5, Compt_Griffon), Cells(17, Compt_Griffon))
End If
Compt_Griffon = Compt_Griffon + 1
Next Test_Griffon
Else
'Sinon:
'Cette parti du code sera supprimée car si la météo est renseignée,
'inutile de faire la recherche...
Commune_FdF = Sheets("Liste des FdF").Range("G" & Compt).Value
Date_FdF = Sheets("Liste des FdF").Range("C" & Compt).Value
N°_Zone_FdF = Application.WorksheetFunction.VLookup(Commune_FdF, Tableau_Zone_Griffon, 3)
Sheets("Liste des FdF").Range("AL" & Compt).Value = N°_Zone_FdF 'affichage pour verif
End If
Compt = Compt + 1
Next Test_FdF
'- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
End Sub |
Partager