Créer une macro pour effacer du texte

Résolu/Fermé
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014 - 14 févr. 2012 à 18:31
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014 - 15 févr. 2012 à 15:05
Bonjour,

J'ai une base de donnée d'email extraite d'un site qui m'a été transmise dans laquelle je dois enlever du texte à partir du mot : SMTP.

Je souhaite créer une macro qui supprimerait sur chaque ligne (tout le texte qui se trouve après SMTP....

Ex :
zyfool@hotmail.frSMTPCELINE LERAT
zyqlas@orange.frSMTPzyqlas@orange.fr


Merci pour votre aide précieuse. Car j'ai plus de 30 000 adresses à nettoyer.



A voir également:

7 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 15/02/2012 à 11:56
Bonjour,

Excusez l'incruste

peut-^tre + rapide (30000 lignes)

Sub supprimer_apres_smtp() 
Dim tablo, derlig As Integer 

derlig = Columns("A").Find("*", , , , , xlPrevious).Row 
Application.ScreenUpdating = False 
tablo = Application.Transpose(Range("A2:A" & derlig).Value) 

For cptr = 1 To UBound(tablo) 
     tablo(cptr) = Split(tablo(cptr), "SMTP")(0) 
Next 

Range("A2").Resize(UBound(tablo, 1)) = Application.Transpose(tablo) 
End Sub 



essai sur 30000 lignes: 0,7 secondes (RAM_DDR: 512 Mo)
Michel
1
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
14 févr. 2012 à 18:59
bonjour

une macro

Public Sub nettoieadr()
Dim c As Range
Dim s As String
Dim p As Long
Application.ScreenUpdating = False
For Each c In Selection
  s = c.Value
  p = InStr(1, c, "SMTP")
  If p > 0 Then
    s = Left(s, p - 1)
  End If
  c.Value = s
Next c
Application.ScreenUpdating = True
End Sub

bonne suite
0
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014
14 févr. 2012 à 19:07
Ok merci à vous et surtout pour votre réactivité.
Dois-je mettre les codes que vous m'avez transmis dans la fenêtre Visual Basic?
0
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014
14 févr. 2012 à 19:13
J'ai une erreur de compilation end sub attendu lorsque j'ai ajouté votre script sur VB.
Avez-vous une idée de ce qui pourrait éventuellement coincé. j'aurais souhaité vous soumettre une copie d'écran ?
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
Modifié par ccm81 le 15/02/2012 à 09:22
re

le code est à mettre dans un module général Alt-F11 puis Insertion/Module
es tu sur d'avoir copié tout le code? je te mets mon fichier au cas où...
https://www.cjoint.com/?0Bpjv203Fdy
bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014
15 févr. 2012 à 13:57
Bonjour Michel

Tout d'abord merci pour le script. Malheureusement je n'ai toujours pas réussi à le faire fonctionner. j'en ai besoin pour demain et j'arrive pas à comprendre ou ça bug.
J'ai copier votre script en faisant ALTF11, enregistrer la macro sous un raccourci CTRL a mais ça marche toujours pas. j'ai un message d'erreur erreur de compilation.
je n'ai jamais crée de macro jusqu'à présent....si vous pouvez m'assister. J'apprécierai beaucoup.
je voudrais vraiment apprendre :-)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 févr. 2012 à 14:21
chez moi ca marche sans problème

ci joint maquette d'essai avec code commenté
https://www.cjoint.com/?3BposHUs0sH

(le bouton remplir inscrit le texte sur 30000 lignes)

CTRL a est une touche de raccourci utilisé par Excel ==> ne pas l'utiliser comme déclencheur de macro
0
EXANAD Messages postés 41 Date d'inscription dimanche 16 octobre 2011 Statut Membre Dernière intervention 14 mai 2014
15 févr. 2012 à 15:05
yahooooooooo...ça marche....

Mais pour que je comprenne, il va falloir que je comprenne le code que vous avez écrit....je vais essayé de décortiquer et comprendre....

je vous remercie infiniment pour votre aide et réactivité....
0