Marwa Chefii
XLDnaute Nouveau
Bonjour,
J'ai un souci sur ma requête VBA qui importe des données ACCESS dans EXCEL, la compilation me renvoie le message d'erreur : "Type défini par l'utilisateur non défini"
Tout en sachant que les références ci dessous sont cochés:
Merci d'avance pour votre aide
J'ai un souci sur ma requête VBA qui importe des données ACCESS dans EXCEL, la compilation me renvoie le message d'erreur : "Type défini par l'utilisateur non défini"
Tout en sachant que les références ci dessous sont cochés:
VB:
Option Explicit
Sub Bouton_Actualiser_ACCESS()
Application.ScreenUpdating = False
On Error Resume Next
Dim chemin_bd As String
Dim ligne As Range
Dim SQL As String
Dim enr As Recordset
Dim Date_Vue As Recordset
Dim base As Database
Dim Classeur As Workbook, Source As Worksheet, PPH As Worksheet, PARAMETRES As Worksheet
Dim Intermédiaire As Integer
Set Classeur = ActiveWorkbook
Set Source = Classeur.Worksheets("SOURCE PPH")
Set PPH = Classeur.Worksheets("PERSONNES PHYSIQUES")
Set PARAMETRES = Classeur.Worksheets("PARAMETRES")
Set ligne = Source.Range("A" & Source.UsedRange.Rows.Count + 1)
Intermédiaire = PPH.Range("C7").Value
SQL = "SELECT * FROM SOURCE_PPH WHERE INTERMEDIAIRE_FIAB = " & Intermédiaire
chemin_bd = PARAMETRES.Range("C4").Value & PARAMETRES.Range("C6").Value
Set base = DBEngine.OpenDatabase(chemin_bd)
Set Date_Vue = base.OpenRecordset("SELECT MAX(DATE_DE_VUE) as MAX_VUE FROM SOURCE_PPH GROUP BY DATE_DE_VUE", dbOpenDynaset)
Déprotéger
PPH.Range("C5").CopyFromRecordset Date_Vue
If PPH.Range("D5").Value = "NON" Then
Set enr = base.OpenRecordset(SQL, dbOpenDynaset)
ligne.CopyFromRecordset enr
enr.Close
base.Close
Set enr = Nothing
Set base = Nothing
Source.Range("Y2").Select
Selection.AutoFill Destination:=Range("Y2:Y" & Source.UsedRange.Rows.Count)
PPH.Activate
PPH.AutoFilterMode = False
Dim PL1 As Range
Set PL1 = Application.Union(Range("G12:O" & PPH.UsedRange.Rows.Count), Range("U12:V" & PPH.UsedRange.Rows.Count), Range("X12:X" & PPH.UsedRange.Rows.Count))
PL1.Locked = True
PPH.Range("B11").Select
Selection.AutoFilter
PPH.Range("$B$11:$AD" & PPH.UsedRange.Rows.Count).AutoFilter Field:=1, Criteria1:="Actuelle"
Dim PL As Range
Set PL = Application.Union(Range("G12:O" & PPH.UsedRange.Rows.Count), Range("U12:V" & PPH.UsedRange.Rows.Count), Range("X12:X" & PPH.UsedRange.Rows.Count))
PL.Locked = False
'PPH.Range("F4").Value = ""
'PPH.Shapes.Range(Array("Groupe 3")).Visible = False
Protéger
MsgBox "FICHIER ACTUALISE AVEC SUCCES!"
Exit Sub
Else:
Protéger
MsgBox "ATTENTION ... FICHIER DEJA ACTUALISE!"
Exit Sub
End If
Application.ScreenUpdating = True
End Sub
Merci d'avance pour votre aide
Dernière édition: