VB et Excel, help!

Berty59 -  
 Berty59 -
Bonjour,
Je suis actuellement en stage pour ma première année de BTS. Seulement voilà, je doit corriger et entièrement refaire un logiciel de gestion d'abonnements pour une revue avec VB. Mon problème est le suivant : je dispose d'un classeur excel comportant la liste des noms d'abonné avec leurs nom, prénom, adresse, code postal, ville. Mais le hic c'est qu'on retrouve plusieurs personnes plusieurs fois ou des gens ayant des noms différents mais ayant la même adresse. Alors oui je sais comment supprimer les doublons mais le problème persiste car les personnes ayant faite cette liste ont entré les adresses n'importe comment. Je veux dire par là que par exemple on peut retrouver la même adresse (par ex : 6 rue de la gare) écrite de x manières différentes (avec une virgule, avec des espaces en trop, des apostrophes, etc). Donc moi ce que je recherche c'est une astuce, du code en VB ou simplement me dire comment faire directement sur le fichier Excel (j'utiliserai les macros) pour pouvoir rendre toutes les cellules de la colonne adresse au même format. C'est-à-dire avoir tout en minuscule, supprimer les espaces, les apostrophes et les virgules dans chaque cellule de cette colonne afin de pouvoir retrouver et supprimer les doublons restant, car le fichier excel fait quand même 62 000 lignes (et il y en a 8 comme ça) donc je n'ai pas trop envie de fouiller ligne par ligne sinon tout mon stage va y passer... Merci d'avance pour vos réponses ou recommandations !
A voir également:

1 réponse

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Salut,

Vu les explications, pour ma part, j'utiliserai la fonction SUBSTITUE de sorte à supprimer les divers signes dans les cellules en veillant de garder tout de même un séparateur entre chaque mot
Exemple titi toto,tutu'lulu-lolo lola
Mettre cette formule dans une cellule sur la première ligne et incrémenter
Qui va supprimer les trois intervalles entre lolo et lola pour en créer qu’un seul
=SUBSTITUE(A1;" ";"")

Ensuite dans la colonne à cotée remplacer la virgule par un intervalle et ainsi de suite de sorte à obtenir en deux ou trois colonnes de substitue pour obtenir Exemple titi toto tutu lulu-lolo lola

=SUBSTITUE(A1;",";" ")

Au résultat final, mettre en surbrillance la colonne et faire un copier/collage spécial cocher les valeurs pour fixer les valeurs et non le résultat de formule

un exemple avec ce lien

: https://www.cjoint.com/?fAoNZvy5QR


A+
Mike-31

Un problème sans solution est un problème mal posé  (Einstein)
0
Berty59
 
Un grand merci Mike-31, c'est parfait, les explication excellentes, ça m'a débloqué, encore merci et bonne journée !
0