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