XL 2016 Type défini par l'utilisateur non défini

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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"

Capture.PNG


Tout en sachant que les références ci dessous sont cochés:

Capture 1.PNG


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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour