Faire du RNVP en VBA

Staple1600

XLDnaute Barbatruc
Bonjour

J'ai une idée en tête mais je ne sais pas si VBA est le bon
outil pour la réaliser.

L'idée: réinventer la roue... en ce qui concerne la RNVP
(Restructuration Normalisation Validation Postale)
Cf. http://www.laposte.fr/sna/rubrique.php3?id_rubrique=95

En clair je voudrais développer une appli en VBA
qui ferait ce que savent faire les logiciels pros dédiés à cette tâche.

1) Est-ce bien raisonnable?
2) Est-ce possible

Quelqu'un sur ce forum a t'il déjà eu la même idée?

Bonne journée à tous.
 

Tibo

XLDnaute Barbatruc
Salut Staple1600,

Pourrais-tu nous faire une petite démonstration dans un fichier avec exemple et explications détaillées.

On verra s'il faut passer par VBA ou si les formules peuvent suffire.

J'ai cliqué sur le lien, j'ai pas tout compris, c'est pour ça que je te demande un exemple.

Autre chose : précise la taille qu'aura ta base de données.

A bientôt


P.S. : Maubeuge : un petit vent frais qui aide à supporter la chaleur B) ;)
 

Creepy

XLDnaute Accro
Hello,

Idem que Tibo, je pense que cela est peut être possible, mais sans plus de détail je ne vois pas comment je vais pouvoir t'aider.

Si ce n'est qu'un normalisation de texte je pense que ca ne devrait pas poser de Pb !

++

Creepy
 

Staple1600

XLDnaute Barbatruc
En gros voila ce que VBA devra faire:

Mise en majuscules sans accents
Suppression des espaces superflus
Supression des caractères non alphanumériques
Pour ces opérations, code VBA +ou-OK (trouvé ci et là sur le net)

Ensuite ça se corse
selon les normes postales, on peut abréger certains items
ex: Monsieur -> M., Madame-> Mme etc ...
Idem pour les noms de voies:
Boulevard = Bd etc...
(je n'ai pas la liste autorisée immédiatement disponible)

Ca je suis en d'essayer de trouver le code

Je joindrais dans un prochain message
(d'ici 30 minutes le code source en l'état actuel)

Voila.
 

Tibo

XLDnaute Barbatruc
Bopnsoir Staple1600,

Je vois dans ton fichier Excel que tu as 4 fois 'Zone' avec 4 abréviations possibles, comment fais-tu pour sélectionner la bonne ?

D'autre part, le remplacement des titres (Monsieur, Madame ...) implique par (M, MME, ...) implique qu'il n'y ait jamais de fôtes d'orthographe. Tes données sources sont-elles exemptes de fautes (je me corrige) d'orthographe ?

Je vais essayer quelque chose ce soir, je dois avoir en réserve quelque chose qui m'inspire (et sans macro) (l'idée à laquelle je pense est basée sur une idée originale de Monique :) :) )

Bonne soirée

et merci de nous apporter des précisions.
 

Staple1600

XLDnaute Barbatruc
Les fichiers sont brut de décoffrage

Il peut y avoir des fautes
des mots doublés
l'abréviation doit se faire pour un mot exact
ex:
Monsieur-> M.
Monsieurs-> Ne doit pas être traité et devenir Ms.

J'hésite entre automatiser un maximum (sans selection de cellules par l'utilisateur)

ou alors selon sélection
ex: on sélectionne la colonne des NOMS
et on applique la macro
et ainsi de suite.

Ne suis plsu au boulot là.

Pas de fichier adresse sous la main.

Je vais en créer un et je reviens.
Bonne soirée.
 

Tibo

XLDnaute Barbatruc
Salut Staple1600,

J'ai fait une approche sur base de formule.

Je n'avais pas vu ton fichier exemple (because dodo à cette heure là)

L'exemple que je joins prend en compte 2 hypothèses :

- une à base de RECHERCHEV (donc toute simple) ;

- l'autre à base d'une formule à Monique

(pour l'anecdote, la formule Monicienne que j'ai légèrement adaptée est la réponse que j'ai eue à mon tout premier post)

Je ne suis pas sûr que cela réponde intégralement à tes besoins, mais c'est peut-être un début ou une piste à explorer.

Voila : si tu peux faire des essais en complétant les tables de correspondance (dernier onglet)

Je vais voir le fichier que tu as joint cette nuit.

A bientôt.


P.S. : Maubeuge : la température a nettement baissé ce matin : Ouf, on respire enfin. [file name=RNVP_V1.zip size=6981]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RNVP_V1.zip[/file]
 

Pièces jointes

  • RNVP_V1.zip
    6.8 KB · Affichages: 100

Staple1600

XLDnaute Barbatruc
Bonjour

Merci pour vos réponses.

J'ai essayé ld'adpter le classeur de Tibo et les formules de Monique.

Mais c'est loin d'être évident
Et la plus grande partie des opérations est faite manuellement.
Cela donne un temps de traitement du fichier trop long.
Je pencherais donc plutôt vers le VBA. Et vous?

Bon week-end.
 
Dernière édition:

myDearFriend!

XLDnaute Barbatruc
Bonsoir Staple1600, Tibo, Creepy, le Forum.

Staple1600, tu trouveras ci-joint peut-être une façon de faire (tout VBA)...

Pour mettre en oeuvre cette procédure, j'ai du simplifier la feuille 'Correspondances' pour n'obtenir que 2 colonnes de données. Tu peux modifier, supprimer ou ajouter à ta guise les expressions et correspondances à appliquer pour le traitement des adresses. Les 50 premières lignes sont toutefois réservées au traitement des accents.

J'ai tester plusieurs façons de faire et j'ai gardé celle qui me semblait être la plus rapide.
(Pour info, chez moi, le traitement des 5000 lignes prend une douzaine de secondes)

En espèrant avoir pu t'aider.

Cordialement,

Message édité par: myDearFriend!, à: 26/06/2005 05:05
 

Pièces jointes

  • mDF_NormalisationRNVP.zip
    23.3 KB · Affichages: 124

myDearFriend!

XLDnaute Barbatruc
Ci-joint le fichier... (modification de dernière minute !)

Cordialement, [file name=mDF_NormalisationRNVP_20050626050747.zip size=27457]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/mDF_NormalisationRNVP_20050626050747.zip[/file]
 

Pièces jointes

  • mDF_NormalisationRNVP_20050626050747.zip
    26.8 KB · Affichages: 153

Staple1600

XLDnaute Barbatruc
Bonjour

• A défaut d'Excel, quelqu'un connait-il un logiciel freeware ou libre
de manipulation de chaines de caractères?
• Pour ce qui est d'excel, je n'arrive pas à modifier le code de
myDearFriend pour éviter d'avoir à utiliser la feuille Correspondance.

J'ai pensé transformer le classeur avec les macros et la feuille
de correspondance en xlt, mais cela alourdit le traitement du fichier.

Je m'oriente donc vers:
• 1) export du fichier à traiter en csv ou txt
• 2) ouverture du classeur avec macros et correspondance (RNVP)
• 3) import du fichier csv ou txt
• 4) copie des données dans RNVP
• 5) sélection cellules puis lancement macros

EDITION: Ce projet n'est plus maintenu par mes soins (pour cause de changement de boulot)
Par conséquent j'ai supprimé mes fichiers (désormais obsolètes)
Mais les propositions de Tibo et de MyDearFriend vous permettront de voir ce que j'essayais de faire à l'époque.

PS: Pour infos (et accessoirement)
Cette discussion était ma première question posée sur XLD ;)
 
Dernière édition:

yann__92

XLDnaute Nouveau
Re : Faire du RNVP en VBA

Bonsoir à tous,
Tout d'abord , je tiens à vous remercie pour ce partage de connaissance.
Je suis débutant en VB Excel et je remercie myDearFriend! pour son code qui va être une véritable mine d'informations pour moi :D
Je dois effectuer la même mission que l'on avait confié à Staple1600 chez son ancien employeur.
A ce propos , Staple as-tu conserver la macro complémentaire que tu avais crée (.xla) ?
Car je serais également intéressé de voir comment tu t'y es pris.
Je ne sais pas si vous prendrez connaissance de ce mail dans les jours à venir.
En tous les cas encore un grand merci pour le travail collaboratif effectué.
Amicalement
Barto107
 

Statistiques des forums

Discussions
311 720
Messages
2 081 900
Membres
101 834
dernier inscrit
Jeremy06510