Tris sur critères multiples adjacents

Le
d.sundow
Bonjour,

J'aimerai pouvoir parvenir à trier (via les flèches de filtres
usuelles) une base de données non pas sur le critère principal mais
sur l'information qui le jouxte (qui se situe dans la colonne
adjacente).

J'ai réfléchi à comment rendre cela possible et je pense que le
concept que j'ai envisagé doit pouvoir fonctionner.

Me manque encore la formule ou le code qui permettra à l'outil de
générer l'information pertinente.

Vous trouverez l'explication complète et détaillée du problème dans =
le
classeur ci-joint :

http://cjoint.com/?dAkAQtDONG


Merci d'avance pour votre aide - cordialement - Sundow
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
FdeCourt
Le #5328291
Salut,

En fonction des infos de ton fichier (ca met un x dans la premiere
colonne) :

Sub DoubleCritères()
Dim ListeValeurs
Dim MaValeur As Long, x As Long, NbLgn As Long, k As Long, y As
Long
Dim MonResultat()
Dim temp()

ListeValeurs = Range(Cells(5, 2), Cells(Cells(65536,
1).End(xlUp).Row, 3))
MaValeur = 101172 'Il s'agit de la valeur contenu dans ton listbox

NbLgn = UBound(ListeValeurs)
ReDim MonResultat(1 To NbLgn)

For x = 1 To UBound(ListeValeurs)
If ListeValeurs(x, 2) = MaValeur Then
k = k + 1
ReDim Preserve temp(1 To k)
temp(k) = ListeValeurs(x, 1)
End If
Next

For x = 1 To UBound(ListeValeurs)
For y = 1 To UBound(temp)
If ListeValeurs(x, 1) = temp(y) Then
MonResultat(x) = "x"
Exit For
Else
MonResultat(x) = ""
End If
Next
Next
Dim tbl

Range(Cells(5, 1), Cells(NbLgn + 4, 1)).Value =
Application.Transpose(MonResultat)
End Sub



On 26 mar, 12:10, wrote:
Bonjour,

J'aimerai pouvoir parvenir à trier  (via les flèches de filtres
usuelles) une base de données non pas sur  le critère principal mais
sur l'information qui le jouxte (qui se situe dans la colonne
adjacente).

J'ai réfléchi à comment rendre cela possible et je pense que le
concept que j'ai envisagé doit pouvoir fonctionner.

Me manque encore la formule ou le code qui permettra à l'outil de
générer l'information pertinente.

Vous trouverez l'explication complète et détaillée du problème dan s le
classeur ci-joint :

http://cjoint.com/?dAkAQtDONG

Merci d'avance pour votre aide - cordialement  - Sundow


d.sundow
Le #5328231
Salut,

Merci beaucoup de te pencher sur ce problème qui est depuis longtemps
un véritable casse tête pour moi; je n'ai jamais vraiment su par quel
bout le prendre.

J'ai essayé de lancer ta macro mais malheureusement ça bogue :

For y = 1 To UBound(temp) se me en surbrillance jaune.

Sais-tu de quoi ça peu provenir ?

Merci pour ton aide et le temps que tu as du passer à rédiger ce long
code - sundow
FdeCourt
Le #5328061
Hello,

Voilà un exemple dans le fichier joint :
http://cjoint.com/?dAqS3rRWQD

Tous se passe par macro (dans le module 1 ainsi que sur la feuille 1
et le workbook)

Cordialement,

F.

On 26 mar, 15:49, wrote:
Salut,

Merci beaucoup de te pencher sur ce problème qui est depuis longtemps
un véritable casse tête pour moi; je n'ai jamais vraiment su par quel
bout le prendre.

J'ai essayé de lancer ta macro mais malheureusement ça bogue :

For y = 1 To UBound(temp)      se me en surbrillance jaune.

Sais-tu de quoi ça peu provenir ?

Merci pour ton aide et le temps que tu as du passer à rédiger ce long
code - sundow


d.sundow
Le #5327991
On 26 mar, 16:46, FdeCourt
Hello,

Voilà un exemple dans le fichier joint :http://cjoint.com/?dAqS3rRWQD

Tous se passe par macro (dans le module 1 ainsi que sur la feuille 1
et le workbook)

Cordialement,

F.


Hello F.,

Merci mille fois pour cette solution VBA qui fonctionne à merveille.
Je suis très impressionné par le code que tu as écris.

Personnellement en code je vaux pas pipo et ça sera une bonne occasion
de tenter de comprendre un peu comment ça fonctionne.

J'ai, de mon côté, passé la journée à tenter de résoudre ce prob lème
qui me prenait la tête depuis longtemps et je crois être aussi tombé
sur une solution intéressante.

Je te la soumets car elle fonctionne sans une ligne de code; juste
avec des formules et des tables :

http://cjoint.com/?dAqUoFrcoe

Voilà donc réuni les deux écoles d'Excel : celle du code et celle de
la formule ! :-))

Merci F. c'est très sympa à toi de m'avoir donné un coup de main. Je
vais devoir adapté ces solutions dans une base de données plus grande
et plus complexe, je verai alors laquelle de nos deux solutions sera
la plus adaptée.

Merci aussi pour tout le temps que tu m'as consacré aujourd'hui, très
bonne soirée à toi (et à ceux et celles qui poseront les yeux sur ces
mots) - sundow

Publicité
Poster une réponse
Anonyme