Créer une macro pour effacer du texte
Résolu
EXANAD
Messages postés
43
Statut
Membre
-
EXANAD Messages postés 43 Statut Membre -
EXANAD Messages postés 43 Statut Membre -
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.
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.
7 réponses
-
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 -
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 -
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? -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 :-) -
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 -
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é....