Bonjour ,
J'ai un probleme similaire car j'ai changé de version Windows (W7 a W10) et les codes VBA que j'avais sous mon Excel de la W7 ne s'execute pas sur mon Excel W10 notamment a cause d'un pb de DLL (Composant DAO360) donc je peux pas utiliser cette reference.
Mon ancien code se presentait comme ceci :
Function GET_DATA_DB(X_k As Long)
Workbooks("FlexSJ_7.xlsm").Sheets(X_k).Activate
'ActiveSheet.Range(Range(Range("A2"), Range("A2").End(xlToRight)), Range(Range("A2"), Range("A2").End(xlToRight)).End(xlDown)).ClearContents
If Range("A2").Value <> "" Then
ActiveSheet.Range(Range(Range("A1"), Range("A1").End(xlToRight)), Range(Range("A1"), Range("A1").End(xlToRight)).End(xlDown)).Offset(1, 0).ClearContents
End If
requete_text = Sheets("Requete").Shapes(CStr(X_k)).TextFrame.Characters.Text
Set Query = cnx.CreateQueryDef("DATA")
With Query
.Sql = requete_text
Set Bonds_Data = .OpenRecordset(dbOpenDynaset)
ThisWorkbook.Sheets(X_k).Activate
ActiveSheet.Range("A2").CopyFromRecordset Bonds_Data
.Close
.Refresh
End With
End Function
J'aimerai adapter cette fonction en prenant plutot en compte les specificités ADODB et non DOA (vu que je ne l'ai pas dans mon Excel sous W10). En gros pouvoir utiliser le QueryDF sous ADODB.
Merci d'avance pour votre aide .