Bonsoir,
J'ai créé une petite application de recherche par ville ou par code postal.
Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA.
Il me serait agréable que quelques uns des experts du forum se penchent sur
mon travail pour m'aider à avancer
J'aimerais que vous me donniez votre avis sur le code, voir comment vous
l'optimiseriez, vos commentaires sur ma méthode, etc...
Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens
mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une
piste.
Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout
pourquoi vous auriez fait différament. J'arrive à comprendre comment le code
fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi
qu'autrement. Merci de commenter dans ce sens.
Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip
J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel...
--
Remplacez le 1 dans l'@ par un " i " pour répondre
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Si cela t'intéresse, publie ton code ici. Fais le une macro à la fois...Pose les questions que tu désires ! Le débat sera ouvert et tout le monde pourra y participer et en profiter !
Les conclusions seront tiennes ... c'est toi qui est le maître d'ouvre de ton application !
Salutations!
"Mac Ab and O'Canada" a écrit dans le message de news:u9$ Bonsoir, J'ai créé une petite application de recherche par ville ou par code postal. Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA. Il me serait agréable que quelques uns des experts du forum se penchent sur mon travail pour m'aider à avancer J'aimerais que vous me donniez votre avis sur le code, voir comment vous l'optimiseriez, vos commentaires sur ma méthode, etc... Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une piste. Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout pourquoi vous auriez fait différament. J'arrive à comprendre comment le code fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi qu'autrement. Merci de commenter dans ce sens. Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel... -- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonjour Mac Ab and O'Canada,
Si cela t'intéresse, publie ton code ici. Fais le une macro à la fois...Pose les questions que tu désires ! Le débat sera
ouvert et tout le monde pourra y participer et en profiter !
Les conclusions seront tiennes ... c'est toi qui est le maître d'ouvre de ton application !
Salutations!
"Mac Ab and O'Canada" <Shoguun@1france.com> a écrit dans le message de news:u9$6aiQZDHA.2520@TK2MSFTNGP09.phx.gbl...
Bonsoir,
J'ai créé une petite application de recherche par ville ou par code postal.
Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA.
Il me serait agréable que quelques uns des experts du forum se penchent sur
mon travail pour m'aider à avancer
J'aimerais que vous me donniez votre avis sur le code, voir comment vous
l'optimiseriez, vos commentaires sur ma méthode, etc...
Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens
mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une
piste.
Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout
pourquoi vous auriez fait différament. J'arrive à comprendre comment le code
fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi
qu'autrement. Merci de commenter dans ce sens.
Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip
J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel...
--
Remplacez le 1 dans l'@ par un " i " pour répondre
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Si cela t'intéresse, publie ton code ici. Fais le une macro à la fois...Pose les questions que tu désires ! Le débat sera ouvert et tout le monde pourra y participer et en profiter !
Les conclusions seront tiennes ... c'est toi qui est le maître d'ouvre de ton application !
Salutations!
"Mac Ab and O'Canada" a écrit dans le message de news:u9$ Bonsoir, J'ai créé une petite application de recherche par ville ou par code postal. Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA. Il me serait agréable que quelques uns des experts du forum se penchent sur mon travail pour m'aider à avancer J'aimerais que vous me donniez votre avis sur le code, voir comment vous l'optimiseriez, vos commentaires sur ma méthode, etc... Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une piste. Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout pourquoi vous auriez fait différament. J'arrive à comprendre comment le code fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi qu'autrement. Merci de commenter dans ce sens. Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel... -- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Daniel.M
Bonjour,
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
"Mac Ab and O'Canada" wrote in message news:u9$
Bonsoir, J'ai créé une petite application de recherche par ville ou par code postal.
Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA. Il me serait agréable que quelques uns des experts du forum se penchent sur
mon travail pour m'aider à avancer J'aimerais que vous me donniez votre avis sur le code, voir comment vous l'optimiseriez, vos commentaires sur ma méthode, etc... Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une
piste. Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout pourquoi vous auriez fait différament. J'arrive à comprendre comment le code
fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi
qu'autrement. Merci de commenter dans ce sens. Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel... -- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonjour,
La stratégie générale (deux idées majeures):
Premièrement, on utilise les recherches binaires, donc 2 sets de données
triés (les sets) sur les bonnes colonnes, pour trouver les bornes
(inférieures et supérieures) très rapidement. On cherchera dans le bon set
dépendant de la localité ou du code postal. Ainsi, pour un code postal, on
cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas,
il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier
argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne
de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver
l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter
les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc:
1. Tu tries tes colonnes A, B sur A (déjà fait)
2. Tu copies tes colonnes A, B à D,E
3. Tu tries tes colonnes D, E sur E (donc par Localité)
4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu
utilises des recherches binaires pour trouver la 1ère localité et la
dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère
l'adresse (représentant une plage) à partir des indices initial et final.
Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
"Mac Ab and O'Canada" <Shoguun@1france.com> wrote in message
news:u9$6aiQZDHA.2520@TK2MSFTNGP09.phx.gbl...
Bonsoir,
J'ai créé une petite application de recherche par ville ou par code
postal.
Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA.
Il me serait agréable que quelques uns des experts du forum se penchent
sur
mon travail pour m'aider à avancer
J'aimerais que vous me donniez votre avis sur le code, voir comment vous
l'optimiseriez, vos commentaires sur ma méthode, etc...
Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens
mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner
une
piste.
Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout
pourquoi vous auriez fait différament. J'arrive à comprendre comment le
code
fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire
ainsi
qu'autrement. Merci de commenter dans ce sens.
Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip
J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel...
--
Remplacez le 1 dans l'@ par un " i " pour répondre
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
"Mac Ab and O'Canada" wrote in message news:u9$
Bonsoir, J'ai créé une petite application de recherche par ville ou par code postal.
Ce n'est pas trop pour l'utilité de la chose que par entrainement à VBA. Il me serait agréable que quelques uns des experts du forum se penchent sur
mon travail pour m'aider à avancer J'aimerais que vous me donniez votre avis sur le code, voir comment vous l'optimiseriez, vos commentaires sur ma méthode, etc... Et répondre aux 4 question posées dedans (j'ai cherché dans tous les sens mais je n'ai pas réussi à trouver pour celles ci), ou au moins me donner une
piste. Si vous modifiez ou ajoutez du code, ce qui m'intéresse, c'est surtout pourquoi vous auriez fait différament. J'arrive à comprendre comment le code
fonctionne, mais j'ai du mal à comprendre pourquoi il vaut mieux faire ainsi
qu'autrement. Merci de commenter dans ce sens. Le fichier se trouve ici: http://shoguun.free.fr/rechecheCP.zip J'attends vos commentaires, en vous remerciant.
Mac Ab, fonctionnel... -- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Mac Ab and O'Canada
Bonjour, merci d'avoir jeté un oeuil et de répondre. Je ne comprend pas ce que veut dire "recherche binaires"... Ni le sens de "set de données" (même se j'en ai une vague idée) :o) Peut tu être plus explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par code postal, une autre triée par ville. Je part du haut pour trouver le premier élément qui correspond à ma recherche (disons E100), puis du bas pour trouver le dernier et cela me donne la liste des éléments recherchés(disons E200), d'où ma liste est sur la plage E100:E200. Ais je bien compris? Effectivement, je n'ai pas pensé à chercher dans ce sens. Je vais tenter de le réaliser ainsi. Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville? Je vais le réaliser à la main (ce sont des données qui ne changent pas) mais je suis curieux de savoir comment on trie par VBA... Merci
Mac Ab, retourné...;o)
-- Remplacez le 1 dans l'@ par un " i " pour répondre "Daniel.M" a écrit dans le message de news:
Bonjour,
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier
argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne
de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu
utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonjour,
merci d'avoir jeté un oeuil et de répondre.
Je ne comprend pas ce que veut dire "recherche binaires"... Ni le sens de
"set de données" (même se j'en ai une vague idée) :o) Peut tu être plus
explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par code
postal, une autre triée par ville.
Je part du haut pour trouver le premier élément qui correspond à ma
recherche (disons E100), puis du bas pour trouver le dernier et cela me
donne la liste des éléments recherchés(disons E200), d'où ma liste est sur
la plage E100:E200.
Ais je bien compris?
Effectivement, je n'ai pas pensé à chercher dans ce sens.
Je vais tenter de le réaliser ainsi.
Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville? Je vais
le réaliser à la main (ce sont des données qui ne changent pas) mais je suis
curieux de savoir comment on trie par VBA...
Merci
Mac Ab, retourné...;o)
--
Remplacez le 1 dans l'@ par un " i " pour répondre
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news: uQ38zHTZDHA.1492@TK2MSFTNGP12.phx.gbl...
Bonjour,
La stratégie générale (deux idées majeures):
Premièrement, on utilise les recherches binaires, donc 2 sets de données
triés (les sets) sur les bonnes colonnes, pour trouver les bornes
(inférieures et supérieures) très rapidement. On cherchera dans le bon set
dépendant de la localité ou du code postal. Ainsi, pour un code postal, on
cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas,
il s'agit de recherches binaires (et non séquentielles), i.e. que le
dernier
argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et
ligne
de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver
l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter
les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est
instantané.
Donc:
1. Tu tries tes colonnes A, B sur A (déjà fait)
2. Tu copies tes colonnes A, B à D,E
3. Tu tries tes colonnes D, E sur E (donc par Localité)
4. Dans ta macro Recherche(), en supposant une recherche sur la localité.
Tu
utilises des recherches binaires pour trouver la 1ère localité et la
dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère
l'adresse (représentant une plage) à partir des indices initial et final.
Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonjour, merci d'avoir jeté un oeuil et de répondre. Je ne comprend pas ce que veut dire "recherche binaires"... Ni le sens de "set de données" (même se j'en ai une vague idée) :o) Peut tu être plus explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par code postal, une autre triée par ville. Je part du haut pour trouver le premier élément qui correspond à ma recherche (disons E100), puis du bas pour trouver le dernier et cela me donne la liste des éléments recherchés(disons E200), d'où ma liste est sur la plage E100:E200. Ais je bien compris? Effectivement, je n'ai pas pensé à chercher dans ce sens. Je vais tenter de le réaliser ainsi. Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville? Je vais le réaliser à la main (ce sont des données qui ne changent pas) mais je suis curieux de savoir comment on trie par VBA... Merci
Mac Ab, retourné...;o)
-- Remplacez le 1 dans l'@ par un " i " pour répondre "Daniel.M" a écrit dans le message de news:
Bonjour,
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier
argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne
de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu
utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
popi
In news:, Mac Ab and O'Canada s'écria:
Bonjour, merci d'avoir jeté un oeuil et de répondre. Je ne comprend pas ce que veut dire "recherche binaires"... Ni le sens de "set de données" (même se j'en ai une vague idée) :o) Peut tu être plus explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par code postal, une autre triée par ville. Je part du haut pour trouver le premier élément qui correspond à ma recherche (disons E100), puis du bas pour trouver le dernier et cela me donne la liste des éléments recherchés(disons E200), d'où ma liste est sur la plage E100:E200. Ais je bien compris? Effectivement, je n'ai pas pensé à chercher dans ce sens. Je vais tenter de le réaliser ainsi. Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville? Je vais le réaliser à la main (ce sont des données qui ne changent pas) mais je suis curieux de savoir comment on trie par VBA... Merci
Mac Ab, retourné...;o)
Bonjour,
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
@+ popi
In news:uef9tIUZDHA.2336@TK2MSFTNGP09.phx.gbl,
Mac Ab and O'Canada <Shoguun@1france.com> s'écria:
Bonjour,
merci d'avoir jeté un oeuil et de répondre.
Je ne comprend pas ce que veut dire "recherche binaires"... Ni le
sens de "set de données" (même se j'en ai une vague idée) :o) Peut tu
être plus explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par
code postal, une autre triée par ville.
Je part du haut pour trouver le premier élément qui correspond à ma
recherche (disons E100), puis du bas pour trouver le dernier et cela
me donne la liste des éléments recherchés(disons E200), d'où ma liste
est sur la plage E100:E200.
Ais je bien compris?
Effectivement, je n'ai pas pensé à chercher dans ce sens.
Je vais tenter de le réaliser ainsi.
Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville?
Je vais le réaliser à la main (ce sont des données qui ne changent
pas) mais je suis curieux de savoir comment on trie par VBA...
Merci
Mac Ab, retourné...;o)
Bonjour,
La stratégie générale (deux idées majeures):
Premièrement, on utilise les recherches binaires, donc 2 sets de
données triés (les sets) sur les bonnes colonnes, pour trouver les
bornes (inférieures et supérieures) très rapidement. On cherchera
dans le bon set dépendant de la localité ou du code postal. Ainsi,
pour un code postal, on cherche dans A, pour une localité, on
cherche dans E. Dans chacun des cas, il s'agit de recherches
binaires (et non séquentielles), i.e. que le dernier argument à
Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B"
et ligne de la dernière entrée "B" par exemple) connues, on s'en
sert pour trouver l'adresse de la plage qu'on donne à RowSource.
Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN
délai d'affichage: c'est instantané.
Donc:
1. Tu tries tes colonnes A, B sur A (déjà fait)
2. Tu copies tes colonnes A, B à D,E
3. Tu tries tes colonnes D, E sur E (donc par Localité)
4. Dans ta macro Recherche(), en supposant une recherche sur la
localité. Tu utilises des recherches binaires pour trouver la 1ère
localité et la dernière localité (dans colonne E) qui satisfont à
ton nom. Tu génère l'adresse (représentant une plage) à partir des
indices initial et final. Cette adresse, tu l'utilises comme
ListBox2.RowSource
Salutations,
Daniel M.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
Bonjour, merci d'avoir jeté un oeuil et de répondre. Je ne comprend pas ce que veut dire "recherche binaires"... Ni le sens de "set de données" (même se j'en ai une vague idée) :o) Peut tu être plus explicite?
Dans ce que je comprends, il y aurait deux "sources", une triée par code postal, une autre triée par ville. Je part du haut pour trouver le premier élément qui correspond à ma recherche (disons E100), puis du bas pour trouver le dernier et cela me donne la liste des éléments recherchés(disons E200), d'où ma liste est sur la plage E100:E200. Ais je bien compris? Effectivement, je n'ai pas pensé à chercher dans ce sens. Je vais tenter de le réaliser ainsi. Question subsidiaire (oui/non): VBA sait s'occuper du tri par ville? Je vais le réaliser à la main (ce sont des données qui ne changent pas) mais je suis curieux de savoir comment on trie par VBA... Merci
Mac Ab, retourné...;o)
Bonjour,
La stratégie générale (deux idées majeures): Premièrement, on utilise les recherches binaires, donc 2 sets de données triés (les sets) sur les bonnes colonnes, pour trouver les bornes (inférieures et supérieures) très rapidement. On cherchera dans le bon set dépendant de la localité ou du code postal. Ainsi, pour un code postal, on cherche dans A, pour une localité, on cherche dans E. Dans chacun des cas, il s'agit de recherches binaires (et non séquentielles), i.e. que le dernier argument à Application.Match() égale à 1 (ou omis).
Deuxièmement, une fois les bornes (ligne de la première entrée "B" et ligne de la dernière entrée "B" par exemple) connues, on s'en sert pour trouver l'adresse de la plage qu'on donne à RowSource. Ainsi, on s'évite d'ajouter les lignes une par une. Il n'y a AUCUN délai d'affichage: c'est instantané.
Donc: 1. Tu tries tes colonnes A, B sur A (déjà fait) 2. Tu copies tes colonnes A, B à D,E 3. Tu tries tes colonnes D, E sur E (donc par Localité) 4. Dans ta macro Recherche(), en supposant une recherche sur la localité. Tu utilises des recherches binaires pour trouver la 1ère localité et la dernière localité (dans colonne E) qui satisfont à ton nom. Tu génère l'adresse (représentant une plage) à partir des indices initial et final. Cette adresse, tu l'utilises comme ListBox2.RowSource
Salutations,
Daniel M.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
@+ popi
sabatier
et toi, popi, tu pourrais pas répondre AU DESSUS de la question? c'est pas parce que tu en es encore aux fondations de ton muret qu'il faille que tu te sentes obligé de travailler au taupe niveau... jps
Daniel.M a écrit:
Salut Popi,
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
Bon, ben je veux l'avoir également stp :-)
Pour ma bal, enlève le "inutil." et remplace prenom par mon vrai prénom.
Merci à l'avance,
Daniel M.
et toi, popi, tu pourrais pas répondre AU DESSUS de la question?
c'est pas parce que tu en es encore aux fondations de ton muret qu'il
faille que tu te sentes obligé de travailler au taupe niveau...
jps
Daniel.M a écrit:
Salut Popi,
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
Bon, ben je veux l'avoir également stp :-)
Pour ma bal, enlève le "inutil." et remplace prenom par mon vrai prénom.
et toi, popi, tu pourrais pas répondre AU DESSUS de la question? c'est pas parce que tu en es encore aux fondations de ton muret qu'il faille que tu te sentes obligé de travailler au taupe niveau... jps
Daniel.M a écrit:
Salut Popi,
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
Bon, ben je veux l'avoir également stp :-)
Pour ma bal, enlève le "inutil." et remplace prenom par mon vrai prénom.
Merci à l'avance,
Daniel M.
sabatier
en fait, popi, c'est MacBob qui m'a dit "tiens, jps, enfin une ficelle pour toi puisque tu n'as pas droit au forum spécial MVP bien que tu en aies le niveau" tout de suite derrière, il m'a envoyé sa facture pour publicité non mensongère... jps
popi a écrit:
Mais au fait, qu'est-ce que tu viens faire dans une ficelle qui s'adresse aux "experts" ?????
In news:, sabatier s'écria:
et toi, popi, tu pourrais pas répondre AU DESSUS de la question? c'est pas parce que tu en es encore aux fondations de ton muret qu'il faille que tu te sentes obligé de travailler au taupe niveau... jps
en fait, popi, c'est MacBob qui m'a dit "tiens, jps, enfin une ficelle
pour toi puisque tu n'as pas droit au forum spécial MVP bien que tu en
aies le niveau" tout de suite derrière, il m'a envoyé sa facture pour
publicité non mensongère...
jps
popi a écrit:
Mais au fait, qu'est-ce que tu viens faire dans une ficelle qui s'adresse
aux "experts" ?????
In news:3F413B65.6090807@wanadoo.fr,
sabatier <jpsabat@wanadoo.fr> s'écria:
et toi, popi, tu pourrais pas répondre AU DESSUS de la question?
c'est pas parce que tu en es encore aux fondations de ton muret qu'il
faille que tu te sentes obligé de travailler au taupe niveau...
jps
en fait, popi, c'est MacBob qui m'a dit "tiens, jps, enfin une ficelle pour toi puisque tu n'as pas droit au forum spécial MVP bien que tu en aies le niveau" tout de suite derrière, il m'a envoyé sa facture pour publicité non mensongère... jps
popi a écrit:
Mais au fait, qu'est-ce que tu viens faire dans une ficelle qui s'adresse aux "experts" ?????
In news:, sabatier s'écria:
et toi, popi, tu pourrais pas répondre AU DESSUS de la question? c'est pas parce que tu en es encore aux fondations de ton muret qu'il faille que tu te sentes obligé de travailler au taupe niveau... jps
sabatier
encore un coup fourré du popi... j'ai dû changer 7 fois de PC à cause de ses procs qui me formataient à chaque fois le DD...il pense que VBA, c'est comme la maçonnerie : à grands coups de taloche... jps
Mac Ab and O'Canada a écrit:
Merci! Mais j'ai un message d'erreur. Il manquerait un fichier "UserF.frx" ?!?
Mac Ab -- Remplacez le 1 dans l'@ par un " i " pour répondre
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
@+ popi
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
encore un coup fourré du popi...
j'ai dû changer 7 fois de PC à cause de ses procs qui me formataient à
chaque fois le DD...il pense que VBA, c'est comme la maçonnerie : à
grands coups de taloche...
jps
Mac Ab and O'Canada a écrit:
Merci!
Mais j'ai un message d'erreur. Il manquerait un fichier "UserF.frx" ?!?
Mac Ab
--
Remplacez le 1 dans l'@ par un " i " pour répondre
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
@+ popi
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
encore un coup fourré du popi... j'ai dû changer 7 fois de PC à cause de ses procs qui me formataient à chaque fois le DD...il pense que VBA, c'est comme la maçonnerie : à grands coups de taloche... jps
Mac Ab and O'Canada a écrit:
Merci! Mais j'ai un message d'erreur. Il manquerait un fichier "UserF.frx" ?!?
Mac Ab -- Remplacez le 1 dans l'@ par un " i " pour répondre
Un ex dans ta bal, inspiré de la réponse de Daniel ;-)
@+ popi
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Mac Ab and O'Canada
Bonsoir, tout ceci me donne de bonnes pistes de recherche. J'essaie de réaliser mon application avec ceci, et je comparerais avec ce que j'ai fait. Mais j'avance pas vite... Merci.
Mac Ab, pas a pas...
-- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonsoir,
tout ceci me donne de bonnes pistes de recherche.
J'essaie de réaliser mon application avec ceci, et je comparerais avec ce
que j'ai fait.
Mais j'avance pas vite...
Merci.
Mac Ab, pas a pas...
--
Remplacez le 1 dans l'@ par un " i " pour répondre
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
Bonsoir, tout ceci me donne de bonnes pistes de recherche. J'essaie de réaliser mon application avec ceci, et je comparerais avec ce que j'ai fait. Mais j'avance pas vite... Merci.
Mac Ab, pas a pas...
-- Remplacez le 1 dans l'@ par un " i " pour répondre
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 04/08/2003
popi
In news:, sabatier s'écria:
j'ai dû changer 7 fois de PC
Dis-moi, dans les 7 il y a celui que tu as gracieusement "offert" sur un siège de voiture......?
In news:3F414088.8020709@wanadoo.fr,
sabatier <jpsabat@wanadoo.fr> s'écria:
j'ai dû changer 7 fois de PC
Dis-moi, dans les 7 il y a celui que tu as gracieusement "offert" sur un
siège de voiture......?