Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recherche de plusieurs valeurs

4 réponses
Avatar
Luc Bourgeois
Bonjour,

Source de données Comment?

Critère Luc
Date Nom
10.05.2005 luc Date
11.05.2005 christian 10.05.2005
12.05.2005 luc 12.05.2005
13.05.2005 Frederic 14.05.2005
14.05.2005 luc 16.05.2005
15.05.2005 Constance 19.05.2005
16.05.2005 luc 20.05.2005
17.05.2005 christian
18.05.2005 christian
19.05.2005 luc
20.05.2005 luc

Je souhaite extraire toute les données de la colonne 1 répondant au critère
luc?

4 réponses

Avatar
michdenis
bonjour Luc,

Il y a le filtre automatique ou le filtre élaboré qui fait bien ce type de travail !
Est-ce que cela te cause problème ?


Salutations!


"Luc Bourgeois" a écrit dans le message de news:

Bonjour,

Source de données Comment?

Critère Luc
Date Nom
10.05.2005 luc Date
11.05.2005 christian 10.05.2005
12.05.2005 luc 12.05.2005
13.05.2005 Frederic 14.05.2005
14.05.2005 luc 16.05.2005
15.05.2005 Constance 19.05.2005
16.05.2005 luc 20.05.2005
17.05.2005 christian
18.05.2005 christian
19.05.2005 luc
20.05.2005 luc

Je souhaite extraire toute les données de la colonne 1 répondant au critère
luc?
Avatar
Philippe
Bonjour Luc,

Ce qui peut être jouable dans ton cas, c'est d'y aller en deux temps :

1/ tu crées une colonne à gauche dont le but est d'avoir vrai ou faux
suivant si ton critère est OK (moi j'utiliserais un recherchev dans ton cas :
si trouvé=> vrai; sinon (erreur NA)=> Faux

2/ Tu te trouves désormais dans un cas classique que tu sais résoudre par un
filtre simple

Sinon va voir du coté des filtres élaborés comme le dit MichDenis; mais bon,
lui c'est une pointure et le filtre élaboré n'est pas la fonction la plus
intuitive dans l'aide excel.

Si tu as beaucoup de données, tu peux faire une requête depuis access, ca
parraît plus simple dans ton cas.

Bon courage





Bonjour,

Source de données Comment?

Critère Luc
Date Nom
10.05.2005 luc Date
11.05.2005 christian 10.05.2005
12.05.2005 luc 12.05.2005
13.05.2005 Frederic 14.05.2005
14.05.2005 luc 16.05.2005
15.05.2005 Constance 19.05.2005
16.05.2005 luc 20.05.2005
17.05.2005 christian
18.05.2005 christian
19.05.2005 luc
20.05.2005 luc

Je souhaite extraire toute les données de la colonne 1 répondant au critère
luc?




Avatar
michdenis
Bonjour Philippe et Luc,

Si vous désirez jouer de la requête, nul besoin de faire intervenir Acces... Insérer dans votre projet la bibliothèque DAO. Pour ce
faire, dans la fenetre VBE (visual basic editor), barre des menus / outils / références / et vous cocher celle-ci :

"Microsoft DAO 3.6 objects librariry"

L'exemple suivant : Données sur la "feuil1" qui contient 3 colonnes
des Dates , des Noms, des Adresses

comment extraire tous les noms = "luc" dans la colonne B et
recopier ailleurs les enregistrements trouvés.

'----------------------------------------
Sub RequêteExcel()

Dim bd As Database, Rst As Recordset
Dim Requete As String, Rg As Range, Nb As Long
Dim G As Variant, Dest As Range, VaVar As Variant
Dim C As Integer

'Cellule de destination (début de la copie)
'affichage du résultat de la requête
Set Dest = Worksheets("Feuil1").Range("H1")

'Définir la plage de données sur lequel on
'veut faire sa requête. La première ligne contient
'les étiquettes de colonnes ("Nom des champs"
With Worksheets("Feuil1")
Set Rg = .Range("A1:C" & .Range("A65536").End(xlUp).Row)
End With

'ouvrir la base de donnée.
'le fichier doit avoir été enregistré
'La table qui est ouverte est celle du disque dur
'et non de celle contenu en mémoire vive.
Set bd = OpenDatabase(ThisWorkbook.Name, False, False, "excel 8.0")

'Variable que l'on peut définir en fonction de ses besoins
'Le nom pour lequel on veut obtenir les enregistrements.
Mavar = "Luc"

'La requête elle-même
Requete = "SELECT * From [" & Rg.Parent.Name & "$" & _
Rg.Address(0, 0) & "]" & vbCrLf & _
"where nom ='" & Mavar & "'"


Set Rst = bd.OpenRecordset(Requete, dbReadOnly)
With Rst
zzz = Rst.RecordCount
If .EOF = False Then
For C = 0 To Rst.Fields.Count - 1
Dest.Offset(0, C).Value = Rst.Fields(C).Name
Next
' write recordset
Dest.Offset(1, 0).CopyFromRecordset Rst
End If
End With
Rst.Close: Set Rst = Nothing
bd.Close: Set bd = Nothing

End Sub
'----------------------------------------


Salutations!



"Philippe" a écrit dans le message de news:

Bonjour Luc,

Ce qui peut être jouable dans ton cas, c'est d'y aller en deux temps :

1/ tu crées une colonne à gauche dont le but est d'avoir vrai ou faux
suivant si ton critère est OK (moi j'utiliserais un recherchev dans ton cas :
si trouvé=> vrai; sinon (erreur NA)=> Faux

2/ Tu te trouves désormais dans un cas classique que tu sais résoudre par un
filtre simple

Sinon va voir du coté des filtres élaborés comme le dit MichDenis; mais bon,
lui c'est une pointure et le filtre élaboré n'est pas la fonction la plus
intuitive dans l'aide excel.

Si tu as beaucoup de données, tu peux faire une requête depuis access, ca
parraît plus simple dans ton cas.

Bon courage





Bonjour,

Source de données Comment?

Critère Luc
Date Nom
10.05.2005 luc Date
11.05.2005 christian 10.05.2005
12.05.2005 luc 12.05.2005
13.05.2005 Frederic 14.05.2005
14.05.2005 luc 16.05.2005
15.05.2005 Constance 19.05.2005
16.05.2005 luc 20.05.2005
17.05.2005 christian
18.05.2005 christian
19.05.2005 luc
20.05.2005 luc

Je souhaite extraire toute les données de la colonne 1 répondant au critère
luc?




Avatar
Luc Bourgeois
Je vous remercie de votre intervention mais malheureusement je ne comprend
pas tout dans la démarche à suivre ainsi que dans la formule, vous ètes trop
fort...


Bonjour Philippe et Luc,

Si vous désirez jouer de la requête, nul besoin de faire intervenir Acces... Insérer dans votre projet la bibliothèque DAO. Pour ce
faire, dans la fenetre VBE (visual basic editor), barre des menus / outils / références / et vous cocher celle-ci :

"Microsoft DAO 3.6 objects librariry"

L'exemple suivant : Données sur la "feuil1" qui contient 3 colonnes
des Dates , des Noms, des Adresses

comment extraire tous les noms = "luc" dans la colonne B et
recopier ailleurs les enregistrements trouvés.

'----------------------------------------
Sub RequêteExcel()

Dim bd As Database, Rst As Recordset
Dim Requete As String, Rg As Range, Nb As Long
Dim G As Variant, Dest As Range, VaVar As Variant
Dim C As Integer

'Cellule de destination (début de la copie)
'affichage du résultat de la requête
Set Dest = Worksheets("Feuil1").Range("H1")

'Définir la plage de données sur lequel on
'veut faire sa requête. La première ligne contient
'les étiquettes de colonnes ("Nom des champs"
With Worksheets("Feuil1")
Set Rg = .Range("A1:C" & .Range("A65536").End(xlUp).Row)
End With

'ouvrir la base de donnée.
'le fichier doit avoir été enregistré
'La table qui est ouverte est celle du disque dur
'et non de celle contenu en mémoire vive.
Set bd = OpenDatabase(ThisWorkbook.Name, False, False, "excel 8.0")

'Variable que l'on peut définir en fonction de ses besoins
'Le nom pour lequel on veut obtenir les enregistrements.
Mavar = "Luc"

'La requête elle-même
Requete = "SELECT * From [" & Rg.Parent.Name & "$" & _
Rg.Address(0, 0) & "]" & vbCrLf & _
"where nom ='" & Mavar & "'"


Set Rst = bd.OpenRecordset(Requete, dbReadOnly)
With Rst
zzz = Rst.RecordCount
If .EOF = False Then
For C = 0 To Rst.Fields.Count - 1
Dest.Offset(0, C).Value = Rst.Fields(C).Name
Next
' write recordset
Dest.Offset(1, 0).CopyFromRecordset Rst
End If
End With
Rst.Close: Set Rst = Nothing
bd.Close: Set bd = Nothing

End Sub
'----------------------------------------


Salutations!



"Philippe" a écrit dans le message de news:

Bonjour Luc,

Ce qui peut être jouable dans ton cas, c'est d'y aller en deux temps :

1/ tu crées une colonne à gauche dont le but est d'avoir vrai ou faux
suivant si ton critère est OK (moi j'utiliserais un recherchev dans ton cas :
si trouvé=> vrai; sinon (erreur NA)=> Faux

2/ Tu te trouves désormais dans un cas classique que tu sais résoudre par un
filtre simple

Sinon va voir du coté des filtres élaborés comme le dit MichDenis; mais bon,
lui c'est une pointure et le filtre élaboré n'est pas la fonction la plus
intuitive dans l'aide excel.

Si tu as beaucoup de données, tu peux faire une requête depuis access, ca
parraît plus simple dans ton cas.

Bon courage





Bonjour,

Source de données Comment?

Critère Luc
Date Nom
10.05.2005 luc Date
11.05.2005 christian 10.05.2005
12.05.2005 luc 12.05.2005
13.05.2005 Frederic 14.05.2005
14.05.2005 luc 16.05.2005
15.05.2005 Constance 19.05.2005
16.05.2005 luc 20.05.2005
17.05.2005 christian
18.05.2005 christian
19.05.2005 luc
20.05.2005 luc

Je souhaite extraire toute les données de la colonne 1 répondant au critère
luc?