Recherche de données sur plusieurs pages

Le
Pierre F.
Bonjour; bonsoir !

J'ai la macro ci-dessous qui me permet, en tapant un critère de
recherche en g2 d'obtenir le contenu de cellules situées à une ligne =

définie; je place ces contenus dans les cellules g1, h1 et i1


Sub Cherche()
Dim j As Integer
Dim cellule As Range
Dim ligne As Integer
For Each cellule In [A3:B310]
j = j + 1
If InStr(1, cellule, [g2]) <> 0 Then
ligne = cellule.Row
[g1] = Cells(ligne, 2)
[h1] = Cells(ligne, 3)
[i1] = Cells(ligne, 1)
Exit Sub
End If
Next cellule
If j = 310 Then
[h1] = ""
[i1] = ""
End If
End Sub
--

En entrant un nouveau critère en h2 (nbre compris entre 1 et 25), je
souhaite obtenir le contenu d'une autre cellule située sur une autre
feuille (nommée "Tout") et qui se trouve à la même ligne que ci des=
sus
dans une colonne qui serait définie par : nombre de h2x2+4
L'affichage devrait se faire en i2

Merci par avance!

Voir ci-joint: http://cjoint.com/?dsvnj3uSKD


Cordialement,
Pierre F.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre F.
Le #4324591

Oups; j'ai oublié de dire que la macro est commandée par un bouton su r
la feuille 1 nommée "Base"

pf
cousinhub
Le #4324551
Bonsoir,
sans macro avec les formules Index/Equivalent et Decaler
G1 = INDEX(B11:B23;EQUIV($G$2;$A$11:$A$23;0))
H1 = INDEX(C11:C23;EQUIV($G$2;$A$11:$A$23;0))
I1 = G2
I2 = INDEX(DECALER(Tout!A11:A23;0;($H$2*2+3));EQUIV($G$2;Tout!A11:A23;0))

Enfin, si j'ai bien compris le sens de ta demande..
bon courage

Bonjour; bonsoir !

J'ai la macro ci-dessous qui me permet, en tapant un critère de
recherche en g2 d'obtenir le contenu de cellules situées à une ligne
définie; je place ces contenus dans les cellules g1, h1 et i1

---------------------
Sub Cherche()
Dim j As Integer
Dim cellule As Range
Dim ligne As Integer
For Each cellule In [A3:B310]
j = j + 1
If InStr(1, cellule, [g2]) <> 0 Then
ligne = cellule.Row
[g1] = Cells(ligne, 2)
[h1] = Cells(ligne, 3)
[i1] = Cells(ligne, 1)
Exit Sub
End If
Next cellule
If j = 310 Then
[h1] = ""
[i1] = ""
End If
End Sub
-----------------------

En entrant un nouveau critère en h2 (nbre compris entre 1 et 25), je
souhaite obtenir le contenu d'une autre cellule située sur une autre
feuille (nommée "Tout") et qui se trouve à la même ligne que ci dessus
dans une colonne qui serait définie par : nombre de h2x2+4
L'affichage devrait se faire en i2

Merci par avance!

Voir ci-joint: http://cjoint.com/?dsvnj3uSKD


Cordialement,
Pierre F.



cousinhub
Le #4324541
Re-,
ton fichier avec les formules :
http://cjoint.com/?dswpwOIHgo


Bonne lecture

Bonjour; bonsoir !

J'ai la macro ci-dessous qui me permet, en tapant un critère de
recherche en g2 d'obtenir le contenu de cellules situées à une ligne
définie; je place ces contenus dans les cellules g1, h1 et i1

---------------------
Sub Cherche()
Dim j As Integer
Dim cellule As Range
Dim ligne As Integer
For Each cellule In [A3:B310]
j = j + 1
If InStr(1, cellule, [g2]) <> 0 Then
ligne = cellule.Row
[g1] = Cells(ligne, 2)
[h1] = Cells(ligne, 3)
[i1] = Cells(ligne, 1)
Exit Sub
End If
Next cellule
If j = 310 Then
[h1] = ""
[i1] = ""
End If
End Sub
-----------------------

En entrant un nouveau critère en h2 (nbre compris entre 1 et 25), je
souhaite obtenir le contenu d'une autre cellule située sur une autre
feuille (nommée "Tout") et qui se trouve à la même ligne que ci dessus
dans une colonne qui serait définie par : nombre de h2x2+4
L'affichage devrait se faire en i2

Merci par avance!

Voir ci-joint: http://cjoint.com/?dsvnj3uSKD


Cordialement,
Pierre F.



Pierre F.
Le #4324501
Bonsoir,
sans macro avec les formules Index/Equivalent et Decaler
G1 = INDEX(B11:B23;EQUIV($G$2;$A$11:$A$23;0))
H1 = INDEX(C11:C23;EQUIV($G$2;$A$11:$A$23;0))
I1 = G2
I2 = INDEX(DECALER(Tout!A11:A23;0;($H$2*2+3));EQUIV($G$2;Tout!A11:A23 ;0))

Enfin, si j'ai bien compris le sens de ta demande..


Merci; ça marche impec!
Tu as bien compris :-)

A moi de voir si j'ai bien compris:

Dans les formules, A11 et A23 (respectivement B11, C11...) représentent
la zone de recherche ?
Ce qui veut dire que si mon fichier fait 300 lignes et commence à la
ligne 3, je dois remplacer A11 par A3 et A23 par A303... ?

Cordialement,
Pierre F.

cousinhub
Le #4324471
YES, j'avais bien compris :-) (c'était pas évident...)
Effectivement, tu dois modifier les zones de recherches afin de les
adapter au résultat escompté
Tu peux également faire référence à des noms "dynamiques", du style,
pour la première colonne de ta première feuille (A11:A23)
Insertion/Nom/Définir et tu entres un nom (par ex : numero)
dans la case du bas (Fait référence à : ), tu entres :
ÞCALER(Base!$A$3;;;NBVAL(Base!$A:$A)-1)
Tu auras ainsi une zone dynamique et dans la formule tu remplaces
$A$11:$A$23 par numero (j'omets volontairement le é, source d'ennui...)

Ps dans le fichier joint, je n'avais pas remarqué que ta macro (au
préalable bien longue pour le résultat voulu) fonctionnait sur un
évènement de la feuille, donc je ne l'ai pas désactivé. Désactive-là
dans mon fichier, ou ne permets pas l'exécution lors du démarrage.
Reviens si tu as un souci
Bonne fin de W-E (si cela se souhaite)>:o

Bonsoir,
sans macro avec les formules Index/Equivalent et Decaler
G1 = INDEX(B11:B23;EQUIV($G$2;$A$11:$A$23;0))
H1 = INDEX(C11:C23;EQUIV($G$2;$A$11:$A$23;0))
I1 = G2
I2 = INDEX(DECALER(Tout!A11:A23;0;($H$2*2+3));EQUIV($G$2;Tout!A11:A23;0))

Enfin, si j'ai bien compris le sens de ta demande..


Merci; ça marche impec!
Tu as bien compris :-)

A moi de voir si j'ai bien compris:

Dans les formules, A11 et A23 (respectivement B11, C11...) représentent
la zone de recherche ?
Ce qui veut dire que si mon fichier fait 300 lignes et commence à la
ligne 3, je dois remplacer A11 par A3 et A23 par A303... ?

Cordialement,
Pierre F.




Pierre F.
Le #4324431
YES, j'avais bien compris :-) (c'était pas évident...)
Effectivement, tu dois modifier les zones de recherches afin de les
adapter au résultat escompté


OK; ça marche.

Ps dans le fichier joint, je n'avais pas remarqué que ta macro (au
préalable bien longue pour le résultat voulu) fonctionnait sur un

évènement de la feuille, donc je ne l'ai pas désactivé. Désacti ve-là
dans mon fichier, ou ne permets pas l'exécution lors du démarrage.

Oui; tes formules suffisent; merci.
La macro était la pour permettre une recherche plus large sur les
colonnes A et B et en entrant des critères soit numériques, soit
alphabétiques... Mais à l'usage, ça ne servait pas trop et test for mules
suffisent largement.

Reviens si tu as un souci


Oui, encore un petit :-)

Lorsque j'entre mon second critère (celui en H2), je souhaiterais que l a
cellule active revienne en G2 quelle que soit la touche de validation
tapée... sans pour autant devoir aller dans outils/options/modification ...

Est-ce possible ?

Merci.

Bonne fin de W-E (si cela se souhaite)>:o


Oui oui, profitons du peu qu'il reste :-)

Cordialement,
Pierre F.

cousinhub
Le #4324421
Quelque soit le moyen d'entrée de ta cellule, pas évident.. (si tu
utilises Tab, Flèche Haut, Gauche, Droite,....)

Sinon, en utilisant Entrée ou la flèche Bas, par cet évènement :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$H$3" Then [g2].Select
End Sub


YES, j'avais bien compris :-) (c'était pas évident...)
Effectivement, tu dois modifier les zones de recherches afin de les
adapter au résultat escompté


OK; ça marche.

Ps dans le fichier joint, je n'avais pas remarqué que ta macro (au
préalable bien longue pour le résultat voulu) fonctionnait sur un

évènement de la feuille, donc je ne l'ai pas désactivé. Désactive-là
dans mon fichier, ou ne permets pas l'exécution lors du démarrage.

Oui; tes formules suffisent; merci.
La macro était la pour permettre une recherche plus large sur les
colonnes A et B et en entrant des critères soit numériques, soit
alphabétiques... Mais à l'usage, ça ne servait pas trop et test formules
suffisent largement.

Reviens si tu as un souci


Oui, encore un petit :-)

Lorsque j'entre mon second critère (celui en H2), je souhaiterais que la
cellule active revienne en G2 quelle que soit la touche de validation
tapée... sans pour autant devoir aller dans outils/options/modification...

Est-ce possible ?

Merci.

Bonne fin de W-E (si cela se souhaite)>:o


Oui oui, profitons du peu qu'il reste :-)

Cordialement,
Pierre F.





cousinhub
Le #4324411
PS, en supposant évidemment que tu ne veuilles plus jamais utiliser la
cellule H3

Quelque soit le moyen d'entrée de ta cellule, pas évident.. (si tu
utilises Tab, Flèche Haut, Gauche, Droite,....)

Sinon, en utilisant Entrée ou la flèche Bas, par cet évènement :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$H$3" Then [g2].Select
End Sub


YES, j'avais bien compris :-) (c'était pas évident...)
Effectivement, tu dois modifier les zones de recherches afin de les
adapter au résultat escompté


OK; ça marche.

Ps dans le fichier joint, je n'avais pas remarqué que ta macro (au
préalable bien longue pour le résultat voulu) fonctionnait sur un

évènement de la feuille, donc je ne l'ai pas désactivé. Désactive-là
dans mon fichier, ou ne permets pas l'exécution lors du démarrage.

Oui; tes formules suffisent; merci.
La macro était la pour permettre une recherche plus large sur les
colonnes A et B et en entrant des critères soit numériques, soit
alphabétiques... Mais à l'usage, ça ne servait pas trop et test
formules suffisent largement.

Reviens si tu as un souci


Oui, encore un petit :-)

Lorsque j'entre mon second critère (celui en H2), je souhaiterais que
la cellule active revienne en G2 quelle que soit la touche de
validation tapée... sans pour autant devoir aller dans
outils/options/modification...

Est-ce possible ?

Merci.

Bonne fin de W-E (si cela se souhaite)>:o


Oui oui, profitons du peu qu'il reste :-)

Cordialement,
Pierre F.







cousinhub
Le #4324401
Oupss, erreur, il y a cet évènement qui gère ton cas :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$2" Then [g2].Select
End Sub

Désolé (et désolé pour "Polluer le forum") (je vais ramasser par JPS,
qui n'en ait pas revenu de son SOMMESCUD):-)

YES, j'avais bien compris :-) (c'était pas évident...)
Effectivement, tu dois modifier les zones de recherches afin de les
adapter au résultat escompté


OK; ça marche.

Ps dans le fichier joint, je n'avais pas remarqué que ta macro (au
préalable bien longue pour le résultat voulu) fonctionnait sur un

évènement de la feuille, donc je ne l'ai pas désactivé. Désactive-là
dans mon fichier, ou ne permets pas l'exécution lors du démarrage.

Oui; tes formules suffisent; merci.
La macro était la pour permettre une recherche plus large sur les
colonnes A et B et en entrant des critères soit numériques, soit
alphabétiques... Mais à l'usage, ça ne servait pas trop et test formules
suffisent largement.

Reviens si tu as un souci


Oui, encore un petit :-)

Lorsque j'entre mon second critère (celui en H2), je souhaiterais que la
cellule active revienne en G2 quelle que soit la touche de validation
tapée... sans pour autant devoir aller dans outils/options/modification...

Est-ce possible ?

Merci.

Bonne fin de W-E (si cela se souhaite)>:o


Oui oui, profitons du peu qu'il reste :-)

Cordialement,
Pierre F.





Pierre F.
Le #4323961
Oupss, erreur, il y a cet évènement qui gère ton cas :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$2" Then [g2].Select
End Sub


C'est magnifique, merci!!!!!
Exactement ce qu'il me fallait.

Désolé (et désolé pour "Polluer le forum") (je vais ramasser pa r JPS,
qui n'en ait pas revenu de son SOMMESCUD):-)


Mais non; c'est pour la bonne cause :-)

Et comme je viens de voir tes 3 messages d'un coup... pas de problème.

Cordialement,
Pierre F.

Publicité
Poster une réponse
Anonyme