juliedrymo
Messages postés1Date d'inscriptionmercredi 3 novembre 2010StatutMembreDernière intervention 3 novembre 2010
-
3 nov. 2010 à 10:26
jordane45
Messages postés38139Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention20 avril 2024
-
3 nov. 2010 à 11:37
Bonjour tout le monde,
J'aurais besoin de conseil pour "nettoyer" une liste excel automatiquement. Je m'étais lancé à la main ligne par ligne mais c'est vraiment trop long
Voila la situation :
Il y'a 2 onglets sur le fichier excel, un onglet "filtre" et un onglet "BDD"
Dans la colonne A de l'onglet filtre, j'ai une cinquantaine d'expression de 1 ou plusieurs mots.
Dans la colonne B de l'onglet "BDD", j'ai ma longue liste à nettoyer. Chaque cellule contient une phrase, je veux "nettoyer" cette colonne et faire apparaitre la version "propre" en colonne D. Les 2 règles de "nettoyage" sont les suivantes :
règle 1 : chaque cellule dans la colonne B est une phrase qui se termine toujours par la même fin ": xxxx" ou "Gé : xxxx" -> Je souhaite retirer ce ": xxx" ou "Gé : xxxx"
exemple1 : "le camion roule sur l'autoroute Gé : B/30" doit devenir "le camion roule sur l'autoroute"
exemple2 : "la voiture roule dans la ville : Y/2" doit devenir "la voiture roule dans la ville"
[b]règle 2 :/b certaines cellules contiennent un mot ou expression que je souhaite enlever automatiquement. J'ai listé ces mots ou groupes de mot à filtrer dans la colonne A de l'onglet "filtre".
exemple3 : sachant que ma colonne "filtre" contient le mot "CAR", la phrase "le car roule sur l'autoroute" doit devenir "le roule sur l'autoroute"
/!\ Il faut supprimer l'expression la plus longue contenue dans la colonne "filtre". Par ex, si la colonne "filtre" contient les expressions "car" et "car renault", la phrase "le car renault roule sur l'autoroute" doit devenir "le roule sur l'autoroute"
=> Petite complication de la règle numéro 2, toutes les expressions que je cherche à supprimer automatiquement peuvent potentiellement être suivies de l'expression "LP" ou "L.P." ou "L.P". Il faut que ces 3 expressions soient également supprimées automatiquement.
exemple4 : "le car L.P roule sur l'autoroute" devient "le roule sur l'autoroute".
/!\ Les expressions "LP", "L.P." ou "L.P" ne doivent être supprimées que lorsqu'elles suivent immédiatement un mot reconnu à filtrer.
exemple 5 : "le car roule sur l'autoroute LP" devient "le roule sur l'autoroute LP"
Merci beaucoup d'avance si vous pouvez me proposer une solution
jordane45
Messages postés38139Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention20 avril 2024344 3 nov. 2010 à 11:37
Bonjour,
je n'ai pas trop le temps d'ecrire le code complet..mais voila ce que je propose:
Parcourir les cellules de ton document à modifier.
Utiliser la gestion des chaines de caractères pour modifier le contenu de celles-ci.
Pour parcourir tes cellules, tu pourrais faire comme ceci :
Sub parcou()
Dim Ma_Plage As Range
'Plage à traiter
Set Ma_Plage = Range("A1:B10")
For Each cell In Ma_Plage
'lire cellule
Texte = cell.Value
'tester si contient le texte recherché
Test = InStr(1, Texte, "car")
If Test > 0 Then ' si trouvé...
Nouveau_Texte = Replace(Texte, "car", "") 'remplacement du texte
cell.Value = Nouveau_Texte 'ecriture dans la cellule
End If
Next
End Sub
ceci n'est qu'un exemple.. reste à l'adapter à tes besoins.
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI