Sub RappelJ()
' RAPPELER pour une date précise les valeurs de Feuille BD et les placer en Feuille SAISIE
'(pour correction ou complément de saisie en feuille SAISIE)
Application.ScreenUpdating = False
Dim dt, c, col1, col2
Dim col As Integer, f As Object, s As Object, b As Object, p As Object
Dim plgAdresse As Range
Set f = Sheets("FICHE")
Set s = Sheets("SAISIE")
Set b = Sheets("BD")
Set p = Sheets("Paramètres")
'f.Unprotect ("")
's.Unprotect ("")
'b.Unprotect ("")
'p.Unprotect ("")
b.Activate 'pour éviter que le set plgAdresse plante, malgré le with b....
'Si la date n'existe pas dans paramètres on sort
With s
Set dt = Sheets("Paramètres").Range("Date").Find(What:=s.[E3].Value)
If Not dt Is Nothing Then
With b
'on recherche dans BD la colonne où se trouve la DATE RECHERCHÉE 'Sheets("SAISIE").Range("E3").Value
'Aller recherche la position de la DATE dans la Feuille BD en ligne n° 3
'sur la ligne 3 dans la Feuille BD on trouve la Date
col = b.Rows(3).Find(s.Range("E3").Value, , xlValues, xlWhole).Column
col1 = col - 2
col2 = col - 1
' Récupérer les données de la ligne 7 à la ligne 45 dans les deux colonnes précédant celle de cette date
'Plage Feuil SAISIE et Feiuil BD à adapter selon le besoin.
Set plgAdresse = .Range(Cells(7, col1), Cells(45, col2))
plgAdresse.Select
plgAdresse.Copy Destination:=s.Range("C7")
's.Range("C7").PasteSpecial (xlPasteValues) 'colle les valeurs dans SAISIES
End With
End If
End With
s.Activate 'pour revenir à la feuille saisie
'f.Protect ("")
's.Protect ("")
'b.Protect ("")
'p.Protect ("")
Application.ScreenUpdating = True
End Sub