Optimisation code VBA For Each sur 37011 valeurs

Bonjour les performeurs,

Afin de mettre en place un formulaire (le plus simpliste possible) de recherche Code Postal/Communes, je dispose d'une base de données de 37011 communes françaises associés à leur code postal.

En premier lieu, j'ai mis en place un code VBA qui traite les nombreux doublons de communes en adaptant les deux premiers n° du code postal entre parenthèse après le nom de la commune. Seulement, mon code fonctionne bien sur un n° limité de valeurs (une centaine) et non sur 37011 valeurs.

J'ai tenté d'adapter sans succès un tableau (variant) histoire d'accélérer le processus !

Alors, existe t il une solution pour traiter 37011 valeurs en quelques secondes de calculs ?

Bonjour

je n'ai pas compris ce que tu veux obtenir :

  • le nb de communes a nom identique mais code postal différent ?
  • le nb de codes postaux identiques ?

après avoir choisi un code postal ? Un nom ?

Ton formulaire de saisie n'a pas de boutons de validation..., ces données sont reprises où?

merci de m'éclairer

Cordialement

FINDRH

Bonsoir,

Concernant le formulaire, l'absence de bouton validation est voulu car les 2 combobox st liees l'une a l'autre : j'entends par là que lorsque je rentre un code postal, il me donne les communes concernées (meme CP) et que lorsque je saisi la commune voulue il me donne le bon Code Postal.(formulaire le plus simpliste possible car reserve a des non initie)

Mais avant d'obtenir les bons resultats car comme tu peux le tester mon formulaire donnent les communes n'ayant pas le meme CP si on saisi un unique CP et ceci a cause du Dico(clé, items) car les clés n'autorisent pas les doublons alors que les items oui (d'ou decalage dans les données je suppose !)

Pour corriger cela et intervertir clé (CP) et items (communes), il me faut au prealable corriger toutes les communes homonymes ayant un CP different en ajoutant par exemple entre parenthèse le n° du departement (2premiers chiffres du CP: 01;02 etc)

J'avais commencais le traitement manuellement et puis m'essouflant je me suis fait une macro AjoutDeprtmt qui je pensais allé faire le boulot mais vu la quantité de valeurs cela bugue !

En esperant avoir ete + clair !

Merci d'avance

Cdlmt

Bjr

Faut croire que mes sujets ne soulevent pas les foules !! Bon fichier en attente..

Merci qd meme FINDRH

Up..

Cdlmt

Bonjour

Clairement expliques ce que tu veux faire

Si c'est pour ajouter le département à la commune une simple formule suffit

A partir de L2 jusqu'à la fin des données de la colonne B

=SI(NB.SI(B:B;B2)>1;B2&" (" & GAUCHE(A2;2)&")";B2)

Sois patient

Ensuite un copier/coller spécial---> Valeurs de la colonne L sur la colonne B et c'est fini

Bonsoir !

Je reste patient, Merci Banzaï64. J'essaierai ta formule avec plaisir dès que possible

[en vacance, je m'accorde une semaine de repos, voilà ce ke j'entendais en disant fichier en attente]

Autrement, mon sujet concernait surtout l'optimisation ou plutô la solution pour

traiter 37011 valeurs (ici les communes)a partir du bouton Ajout Deprmt sur Communes sans que cela bugue.

bonne soirée

Merci pr l'interet

J'donnerai d'autres nouvelles..

Bonsoir à toutes et tous !

Voilà mon outil est finalisé, j'ai traité les doublons de communes à partir de ta formule Banzaï64 (pour la fin de la base de donnée en tout cas) et je t'en remercie.

Autrement, j'étais parti sur une mauvaise piste, "mon code" était tout bonnement erroné (car copié-collé d'un code retrouvé sur forum)

je l'ai corrigé grâce à find et find.next, si bien que je n'avais finalement pas à traiter les doublons !!!!

Bref, ci-joint mon outil pour la communauté ; à toute fin utile !!!

MERCI

Rechercher des sujets similaires à "optimisation code vba each 37011 valeurs"