Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonsoir,
Sans entrer dans des macros plus ou moins complexes, je pense qu'il doit
être possible de regrouper tes informations en utilisant la fonction
Recherchev. Une colonne RechercheV sur la categorie A, une colonne
RechercheV sur la categorie B, etc... voir un onglet par catégories...
Courage & bonne humeur! :)
Eric
"Didier" a écrit dans le message de news:
bems7i$egk$Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
unonglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",ou "Filtre automatique".
Merci à Tous
Bonsoir,
Sans entrer dans des macros plus ou moins complexes, je pense qu'il doit
être possible de regrouper tes informations en utilisant la fonction
Recherchev. Une colonne RechercheV sur la categorie A, une colonne
RechercheV sur la categorie B, etc... voir un onglet par catégories...
Courage & bonne humeur! :)
Eric
"Didier" <didier.berrus@tiscali.fr> a écrit dans le message de news:
bems7i$egk$1@news.tiscali.fr...
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonsoir,
Sans entrer dans des macros plus ou moins complexes, je pense qu'il doit
être possible de regrouper tes informations en utilisant la fonction
Recherchev. Une colonne RechercheV sur la categorie A, une colonne
RechercheV sur la categorie B, etc... voir un onglet par catégories...
Courage & bonne humeur! :)
Eric
"Didier" a écrit dans le message de news:
bems7i$egk$Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
unonglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" a écrit dans le message de
news:bems7i$egk$
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" <didier.berrus@tiscali.fr> a écrit dans le message de
news:bems7i$egk$1@news.tiscali.fr...
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" a écrit dans le message de
news:bems7i$egk$
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Barre d'outils / outils / référence / et tu coches dans
la liste déroulant la référence suivante :
Microsoft activex data object 2.0 librairy
Salutations!
"Didier" a écrit dans le message de
news:ben45b$kfb$
Pas mal !! mais terrain inconnu pour moi ! va falloir bosser un peu :-)
Ou puis je telecharger "Microsoft activex data object 2.0 librairy" ? chez
krosoft ?
@+
"michdenis" a écrit dans le message de news:
exmSL$Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" a écrit dans le message de
news:bems7i$egk$Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
unonglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Barre d'outils / outils / référence / et tu coches dans
la liste déroulant la référence suivante :
Microsoft activex data object 2.0 librairy
Salutations!
"Didier" <didier.berrus@tiscali.fr> a écrit dans le message de
news:ben45b$kfb$1@news.tiscali.fr...
Pas mal !! mais terrain inconnu pour moi ! va falloir bosser un peu :-)
Ou puis je telecharger "Microsoft activex data object 2.0 librairy" ? chez
krosoft ?
@+
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
exmSL$9RDHA.2008@TK2MSFTNGP11.phx.gbl...
Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" <didier.berrus@tiscali.fr> a écrit dans le message de
news:bems7i$egk$1@news.tiscali.fr...
Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
un
onglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",
ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Barre d'outils / outils / référence / et tu coches dans
la liste déroulant la référence suivante :
Microsoft activex data object 2.0 librairy
Salutations!
"Didier" a écrit dans le message de
news:ben45b$kfb$
Pas mal !! mais terrain inconnu pour moi ! va falloir bosser un peu :-)
Ou puis je telecharger "Microsoft activex data object 2.0 librairy" ? chez
krosoft ?
@+
"michdenis" a écrit dans le message de news:
exmSL$Bonjour Didier,
Voici une façon de faire : Utilise ADO 'Rapide et simple
;-))
Dans la procédure tu définis les variables suivantes :
A ) 'Nom de la feuille où sont les données
B ) 'Nom de la feuille où tu veux copier les données
C ) 'Le texte de la requête qui sera exécutée.
Tu dois ajouter la bibliothèque suivante à ton classeur :
"Microsoft activex data object 2.0 librairy"
'------------------------------
Sub MaRequêteAvecADO()
Dim Conn As ADODB.Connection, Rst As New ADODB.Recordset
Dim Requete As String, FeuilData As String, Rg As Range
Dim File As String, C As Integer, Ok As Integer
Dim FeuilDest As String
'Nom de la feuille où sont les données
FeuilData = "denis"
'Nom de la feuille où tu veux copier les données
FeuilDest = "Feuil2"
'La requête qui sera exécutée.
Requete = "SELECT * From [" & FeuilData & "$] " & vbCrLf & _
"where Ville = 'Boston' and Pays = 'Etats-Unis' "
'Fichier sur lequel se fera la requête :
File = ThisWorkbook.FullName
'Défini la première cellule où seront copiées les
'données des requêtes ADO
With Worksheets(FeuilDest)
If .Range("A1") = "" Then
Set Rg = .Range("A1")
Else
Set Rg = .Range("A" & .Range("A65356").End(xlUp).Row)(2)
Ok = 1
End If
End With
Set Conn = New ADODB.Connection
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & File & ";" & _
"Extended Properties=""Excel 8.0;HDR=YES;"""
Rst.Open Requete, Conn, adOpenForwardOnly, adLockOptimistic
'Copie les étiquettes du recordset vers Excel
If Ok <> 1 Then
Do
Rg.Offset(, C) = Rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = Rst.Fields.Count
Rg.Offset(1).CopyFromRecordset Rst
Else
Rg.CopyFromRecordset Rst
End If
Rst.Close: Conn.Close
Set Rst = Nothing: Set Conn = Nothing
End Sub
'-----------------------------------------------
Salutations!
"Didier" a écrit dans le message de
news:bems7i$egk$Bonjour,
J'utilise la fonction "Index...Equiv" pour aller chercher des infos dans
unonglet base de donnée de mon classeur, et cela fonctionne très bien.
Je cherche maintenant, dans la feuille "résultats", à extraire tous les
enregistrements répondant au même critère de catégorie, à savoir, A, B,
C...., pour les formater dans une autre feuille du classeur.
En clair je veux faire un tri par catégorie, sans utiliser
"Données/Trier",ou "Filtre automatique".
Merci à Tous
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Bonjour Didier,
Tu ouvres VBE , Raccourci clavier : Alt + F11
Voici une façon de faire : Utilise ADO 'Rapide et simple
Voici une façon de faire : Utilise ADO 'Rapide et simple
Voici une façon de faire : Utilise ADO 'Rapide et simple