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

Avis d'expert

15 réponses
Avatar
Mac Ab and O'Canada
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

10 réponses

1 2
Avatar
michdenis
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" 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
Avatar
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




Avatar
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

Avatar
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


Avatar
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.




Avatar
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








Avatar
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





Avatar
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
Avatar
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......?

Avatar
Daniel.M
c'est quoi ton prénom, daniel?


Dis-donc: tu es déchaîné ce soir ou quoi! ;-)

Quand je pense que le volatile n'y est pour rien. Ça va être beau quand ton
oiseau préféré reviendra.

Daniel M.

1 2