Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" a écrit dans le message de groupe de di scussion :
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMTÞlimit ed;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L
Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMT=Delimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" <fdeco...@gmail.com> a écrit dans le message de groupe de di scussion :
59bfccd7-a6a6-4d59-b47a-055b86033...@w1g2000prk.googlegroups.com...
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMT=Delimit ed;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L
Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" a écrit dans le message de groupe de di scussion :
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMTÞlimit ed;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L
Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" a écrit dans le message de groupe de discussion :
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMTÞlimited;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L
Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" <fdeco...@gmail.com> a écrit dans le message de groupe de discussion :
59bfccd7-a6a6-4d59-b47a-055b86033...@w1g2000prk.googlegroups.com...
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMTÞlimited;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L
Un petit exemple :
Requete = "SELECT toto1, count(*) FROM denis.txt GROUP BY toto1 having count(*)=1"
toto1 -> est un nom de champ du fichier
denis.txt -> nom du fichier texte
Ton séparateur de ton fichier doit être la virgule
L'extension du fichier .txt ... csv n'est pas important !
Tu obtiendras dans excel 2 champs :
A ) le nom de chacun des items où l'entrée est unique
B ) la valeur 1 pour chacun de ces champs.
Voici un exemple complet d'une petite procédure :
'------------------------------------------------------
Sub Exemple()
'Doit ajouter la bibliothèque
'Activex Data Object 2.x Librairy
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, Rg As Range
Dim Chemin As String, File As String
'Où est situé le fichier
Chemin = "C:UsersPowerUser"
'Nom du fichier
File = "Denis.txt"
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Chemin & ";" & _
"Extended Properties=""text;HDR=Yes;FMTÞlimited"""
Requete = "SELECT toto1, count(*) FROM " & File & _
" GROUP BY toto1 having count(*)=1"
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie des données vers la "Feuil2") nom à adapter ...
Set Rg = Worksheets("Feuil2").Range("A1")
Rg.CopyFromRecordset Rst
Rst.Close: Conn.Close
Set Rg = Nothing
End Sub
'------------------------------------------------------
"FdeCourt" a écrit dans le message de groupe de discussion :
Bonjour,
Avec Excel je me connecte avec différentes base de données pour
récupérer des informations que je mets dans un fichier texte.
Il y a plus de 3 millions d'enregistrements.
Cela marche nickel.
Par contre, ensuite, j'aimerais pouvoir faire des requêtes sur ce
fichier texte, comme si c'était une base de données.
J'arrive à ouvrir mon fichier texte avec ODBC :
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Chemin & ";" & _
"Extended Properties=""text;HDR=YES;FMTÞlimited;IMEX
=1"";"
La requête que je souhaiterai lancer est celle-ci :
sqlString = "select count(*), FULL from DONNEES.txt group by FULL
having count(*) = 1"
Or ca refuse (L