Bonjour à tous,
Je suis toujours sur mon projet de base Excel avec un fichier qui me sert pour saisir les enregistrements et un second qui me sert à stocker les enregistrements.
Je suis arriver à adapter le code d'exportation pour les fichiers XLSX.
Aujourd'hui, je me concentre sur la récupération des données (selon condition).
Dans un premier temps j'aimerais adapter le code SQL de l'ami Habitude pour importer à partir d'un XLSX.
Le code fonctionnel pour XLS:
J'ai essayé de l'adapter pour du XLSX mais cela ne veut pas:
Avez-vous une idée, une proposition ?
Dans un second temps, j'aimerais pouvoir ajouter une condition. Mais impossible, même avec AND:
Merci
A+
Je suis toujours sur mon projet de base Excel avec un fichier qui me sert pour saisir les enregistrements et un second qui me sert à stocker les enregistrements.
Je suis arriver à adapter le code d'exportation pour les fichiers XLSX.
Aujourd'hui, je me concentre sur la récupération des données (selon condition).
Dans un premier temps j'aimerais adapter le code SQL de l'ami Habitude pour importer à partir d'un XLSX.
Le code fonctionnel pour XLS:
VB:
Sub extractionValeurCelluleClasseurFerme()
Application.ScreenUpdating = False: Range("A11").Resize(Range("A" & 2 ^ 20).End(xlUp).Row, 20).ClearContents
Donnee = Range("F4").Value: Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\base.xls" & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
Range("A11").CopyFromRecordset Source.Execute("SELECT * FROM [Feuil1$] WHERE Donnée_2= '" & Donnee & "'")
Source.Close
Set Source = Nothing
Application.ScreenUpdating = True
End Sub
J'ai essayé de l'adapter pour du XLSX mais cela ne veut pas:
VB:
Sub extractionValeurCelluleClasseurFermeXLSX()
Application.ScreenUpdating = False: Range("A11").Resize(Range("A" & 2 ^ 20).End(xlUp).Row, 20).ClearContents
Donnee = Range("F4").Value: Set Source = New ADODB.Connection
Source.Open "Provider=Microsoft.Jet.OLEDB.4.0;Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.Path & "\base.xlsx" & ";Extended Properties=""Excel 12.0;HDR=Yes;"";"
Range("A11").CopyFromRecordset Source.Execute("SELECT * FROM [Feuil1$] WHERE Donnée_2= '" & Donnee & "'")
Source.Close
Set Source = Nothing
Application.ScreenUpdating = True
End Sub
Avez-vous une idée, une proposition ?
Dans un second temps, j'aimerais pouvoir ajouter une condition. Mais impossible, même avec AND:
VB:
Range("A11").CopyFromRecordset Source.Execute("SELECT * FROM [Feuil1$] WHERE Donnée_2= '" & Donnee & "'" & Donnée_4 = "'" & Donnee2 & "'")
Merci
A+
Dernière édition: