Bonjour,
J'ai ici un tableau dont les valeurs ont été copiées avec la fonction ADODB connection.
Mon problème est que je ne suis plus capable de filtrer la colonne D (# outil) en ordre numérique. C'est comme si les données ne sont plus en format texte. Même un fonction recherche V ne trouve même pas une définition dans la colonne E (Description). Même si mes colonnes sont en format Texte, le filtre ne fonctionne pas.
Voici le code que j'utilise pour copier les données d'un classeur fermé:
Sub RequeteClasseurFerme()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "Q:\Ingenierie\Outil De Conception\Identification d'outillage\Registre des accessoires\Registre des accessoires de moule_1.xlsm"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Liste unique"
Set Cn = New ADODB.Connection
'--- Connection ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;""" 'IMEX=0
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Feuil15.Range("A1").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
Le code fonctionne à merveille. C'est le filtrage et la recherche qui ne fonctionne plus.
Je vous laisse une copie de mon tableau pour vous amusez.
Merci de votre Aide.
Cydor007 🙂
J'ai ici un tableau dont les valeurs ont été copiées avec la fonction ADODB connection.
Mon problème est que je ne suis plus capable de filtrer la colonne D (# outil) en ordre numérique. C'est comme si les données ne sont plus en format texte. Même un fonction recherche V ne trouve même pas une définition dans la colonne E (Description). Même si mes colonnes sont en format Texte, le filtre ne fonctionne pas.
Voici le code que j'utilise pour copier les données d'un classeur fermé:
Sub RequeteClasseurFerme()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "Q:\Ingenierie\Outil De Conception\Identification d'outillage\Registre des accessoires\Registre des accessoires de moule_1.xlsm"
'Nom de la feuille dans le classeur fermé
NomFeuille = "Liste unique"
Set Cn = New ADODB.Connection
'--- Connection ---
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
& Fichier & ";Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;""" 'IMEX=0
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Feuil15.Range("A1").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
Le code fonctionne à merveille. C'est le filtrage et la recherche qui ne fonctionne plus.
Je vous laisse une copie de mon tableau pour vous amusez.
Merci de votre Aide.
Cydor007 🙂