OVH Cloud OVH Cloud

requête

6 réponses
Avatar
Luc Bourgeois
Bonjour,

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?

6 réponses

Avatar
LSteph
Bonsoir Luc,

Oui, on peut sûrement essayer, avec un peu plus de précisions....

;-)

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

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?


Avatar
Luc Bourgeois
Salut Steph,

Lorsque fait ma requête dans Query il me demade la valeur du critère et je
souhaite lui dire que cette valeur = A1
peux-tu m'aider?



Bonsoir Luc,

Oui, on peut sûrement essayer, avec un peu plus de précisions....

;-)

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

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?







Avatar
michdenis
Bonjour Luc,

Voici une explication comment il est possible de
s'y prendre et ce fait à partir d'un exemple :

c'est une réponse que j'ai déjà publiée sur ce forum.

Suppose que tu as défini une requête paramétrée
dans query. Pour ce faire, directement dans la
fenêtre de "Query", tu utilises les crochets droits et
tu insères un petit texte significatif pour l'usager pour
définir les paramètres de ta requête. Les symboles
">" et "<" sert à déterminer l'intervalle entre les
dates choisies.

Exemple :

Dans la fenêtre "Critères" de Query

NomDuChamp -->: Date
critère --> : >[Date de début] Et <[Date de fin]

Tu retournes le résultat de la requête dans une feuille
de ton classeur.

Avec un clic droit sur la plage de résultat, dans le menu
contextuel déroulant , choisis : "Paramètre"

Dans la fenêtre qui s'ouvre : Tu sélectionnes dans la partie
gauche de la fenêtre : " Date de début" et tu sélectionnes le
bouton radio :"Obtenir la valeur de la cellule suivante" :
Tu indiques la cellule devant servir pour ce critère. Et pour
finir, Tu coches le bouton radio si tu veux qu'excel actualise
les données dès que tu modifieras le contenu de cette cellule
(date de début) . Maintenant il te reste à faire la même chose
concernant "Date de fin" . Voilà.


Si tu voulais obtenir le même résultat à partir d'une macro qui
servirait à actualiser ton "querytable", tu pourrais t'inspirer de
ceci. À copier dans la feuille module où l'action se déroule :

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'il est pris pour acquis que G1, G2 contiennent des dates
'ET
'G1 est plus petit que G2 ... tu peux ajouter une gestion
'd'erreur le cas échéant....! ( pas défini ici ! )

If Target.Address = [G1].Address Or _
Target.Address = [G2].Address Then
'En supposant que ton QueryTable se situe
'sur la feuille "Feuil1"
'Plage de critère de tes dates :
'Date de début : "Feuil1!G1"
'Date de Fin : "Feuil1!G2"

Dim P1 As Parameter
Dim P2 As Parameter

'utilise l'index ou le nom de la requête
With Worksheets("Feuil1").QueryTables(1)
Set P1 = .Parameters(1)
Set P2 = .Parameters(2)
P1.SetParam xlRange, Range("Feuil1!G1")
P2.SetParam xlRange, Range("Feuil1!G2")
.Refresh False
End With
End If

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


Salutations!




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

Salut Steph,

Lorsque fait ma requête dans Query il me demade la valeur du critère et je
souhaite lui dire que cette valeur = A1
peux-tu m'aider?



Bonsoir Luc,

Oui, on peut sûrement essayer, avec un peu plus de précisions....

;-)

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

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?







Avatar
Luc Bourgeois
Merci pour ton explication mais je n'ai pas tout compris???


Bonjour Luc,

Voici une explication comment il est possible de
s'y prendre et ce fait à partir d'un exemple :

c'est une réponse que j'ai déjà publiée sur ce forum.

Suppose que tu as défini une requête paramétrée
dans query. Pour ce faire, directement dans la
fenêtre de "Query", tu utilises les crochets droits et
tu insères un petit texte significatif pour l'usager pour
définir les paramètres de ta requête. Les symboles
">" et "<" sert à déterminer l'intervalle entre les
dates choisies.

Exemple :

Dans la fenêtre "Critères" de Query

NomDuChamp -->: Date
critère --> : >[Date de début] Et <[Date de fin]

Tu retournes le résultat de la requête dans une feuille
de ton classeur.

Avec un clic droit sur la plage de résultat, dans le menu
contextuel déroulant , choisis : "Paramètre"

Dans la fenêtre qui s'ouvre : Tu sélectionnes dans la partie
gauche de la fenêtre : " Date de début" et tu sélectionnes le
bouton radio :"Obtenir la valeur de la cellule suivante" :
Tu indiques la cellule devant servir pour ce critère. Et pour
finir, Tu coches le bouton radio si tu veux qu'excel actualise
les données dès que tu modifieras le contenu de cette cellule
(date de début) . Maintenant il te reste à faire la même chose
concernant "Date de fin" . Voilà.


Si tu voulais obtenir le même résultat à partir d'une macro qui
servirait à actualiser ton "querytable", tu pourrais t'inspirer de
ceci. À copier dans la feuille module où l'action se déroule :

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'il est pris pour acquis que G1, G2 contiennent des dates
'ET
'G1 est plus petit que G2 ... tu peux ajouter une gestion
'd'erreur le cas échéant....! ( pas défini ici ! )

If Target.Address = [G1].Address Or _
Target.Address = [G2].Address Then
'En supposant que ton QueryTable se situe
'sur la feuille "Feuil1"
'Plage de critère de tes dates :
'Date de début : "Feuil1!G1"
'Date de Fin : "Feuil1!G2"

Dim P1 As Parameter
Dim P2 As Parameter

'utilise l'index ou le nom de la requête
With Worksheets("Feuil1").QueryTables(1)
Set P1 = .Parameters(1)
Set P2 = .Parameters(2)
P1.SetParam xlRange, Range("Feuil1!G1")
P2.SetParam xlRange, Range("Feuil1!G2")
.Refresh False
End With
End If

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


Salutations!




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

Salut Steph,

Lorsque fait ma requête dans Query il me demade la valeur du critère et je
souhaite lui dire que cette valeur = A1
peux-tu m'aider?



Bonsoir Luc,

Oui, on peut sûrement essayer, avec un peu plus de précisions....

;-)

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

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?












Avatar
Luc Bourgeois
Salut Denis,

Je n'ai malheureusement pas la fonction paramêtre qui s'active que dois-je
faire pour l'activer???


Bonjour Luc,

Voici une explication comment il est possible de
s'y prendre et ce fait à partir d'un exemple :

c'est une réponse que j'ai déjà publiée sur ce forum.

Suppose que tu as défini une requête paramétrée
dans query. Pour ce faire, directement dans la
fenêtre de "Query", tu utilises les crochets droits et
tu insères un petit texte significatif pour l'usager pour
définir les paramètres de ta requête. Les symboles
">" et "<" sert à déterminer l'intervalle entre les
dates choisies.

Exemple :

Dans la fenêtre "Critères" de Query

NomDuChamp -->: Date
critère --> : >[Date de début] Et <[Date de fin]

Tu retournes le résultat de la requête dans une feuille
de ton classeur.

Avec un clic droit sur la plage de résultat, dans le menu
contextuel déroulant , choisis : "Paramètre"

Dans la fenêtre qui s'ouvre : Tu sélectionnes dans la partie
gauche de la fenêtre : " Date de début" et tu sélectionnes le
bouton radio :"Obtenir la valeur de la cellule suivante" :
Tu indiques la cellule devant servir pour ce critère. Et pour
finir, Tu coches le bouton radio si tu veux qu'excel actualise
les données dès que tu modifieras le contenu de cette cellule
(date de début) . Maintenant il te reste à faire la même chose
concernant "Date de fin" . Voilà.


Si tu voulais obtenir le même résultat à partir d'une macro qui
servirait à actualiser ton "querytable", tu pourrais t'inspirer de
ceci. À copier dans la feuille module où l'action se déroule :

'----------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'il est pris pour acquis que G1, G2 contiennent des dates
'ET
'G1 est plus petit que G2 ... tu peux ajouter une gestion
'd'erreur le cas échéant....! ( pas défini ici ! )

If Target.Address = [G1].Address Or _
Target.Address = [G2].Address Then
'En supposant que ton QueryTable se situe
'sur la feuille "Feuil1"
'Plage de critère de tes dates :
'Date de début : "Feuil1!G1"
'Date de Fin : "Feuil1!G2"

Dim P1 As Parameter
Dim P2 As Parameter

'utilise l'index ou le nom de la requête
With Worksheets("Feuil1").QueryTables(1)
Set P1 = .Parameters(1)
Set P2 = .Parameters(2)
P1.SetParam xlRange, Range("Feuil1!G1")
P2.SetParam xlRange, Range("Feuil1!G2")
.Refresh False
End With
End If

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


Salutations!




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

Salut Steph,

Lorsque fait ma requête dans Query il me demade la valeur du critère et je
souhaite lui dire que cette valeur = A1
peux-tu m'aider?



Bonsoir Luc,

Oui, on peut sûrement essayer, avec un peu plus de précisions....

;-)

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

Dans ma requête je cherche à inserer un critère qui doit être égale à la
valeur d'une cellule.
Pouvez-vous m'aider?












Avatar
michdenis
Bonjour Luc,

| Je n'ai malheureusement pas la fonction paramêtre qui s'active que dois-je
| faire pour l'activer???

À) tu crées ta requête : barre des menus/données externes/créer une requête

B) lorsque tu as établi le lien avec ta base de données et que tu te retrouves dans Query avec tous les champs sélectionnés
affichés, tu affiches la section « Critère » où tu peux choisir le champ sur lequel tu vas appliquer un critère.

C ) Une requête paramètre se fait de la même façon sauf que dans l'espace réservé au critère, au lieu de définir directement le
critère, on insère en crochets droits un énoncé de quelques mots. Lors de l'exécution de la requête paramètrée, l'usager est appelé
à répondre au message dans une boîte de saisie. Pour plus de détails, l'aide de Query est très explicite sur le sujet.

D ) Lorsque tu as défini ta requête paramètrée, tu retournes ton tableau dans ta feuille Excel.

E) Si tu fais un clic droit (menu contextuel) sur une cellule de la plage de résultat de ta requête, tu choisis la commande «
paramètre.... » et tu appliques ce que j'ai défini dans mon premier message.


Salutations!