Supprimer caractères dans cellule excel par macro VBA

Fermé
Kristolykid Messages postés 3 Date d'inscription mercredi 18 mai 2022 Statut Membre Dernière intervention 18 mai 2022 - 18 mai 2022 à 10:37
Kristolykid Messages postés 3 Date d'inscription mercredi 18 mai 2022 Statut Membre Dernière intervention 18 mai 2022 - 18 mai 2022 à 13:35
Bonjour

je travaille avec des fichiers qui contiennent une liste de numéro de téléphone commençant par :

tel:+33
tel:+262
tel:+590
tel:+594
tel:+596

Je voudrais créer une macro qui me permette de supprimer automatiquement ces indicatifs et ne garder que le numéro de téléphone qui s'affiche après. (sachant que je dois faire cette manipulation à chaque nouveau fichier puisque ce n'est pas nécessairement les mêmes personnes qui appellent).

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter
A voir également:

3 réponses

via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
18 mai 2022 à 13:14
Bonjour

Il me semble qu'une macro de ce style conviendrait :
Sub telephone()
Dim lig As Long
lig = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row 'dernière ligne remplie de la 1ere colonne A ADAPTER pour autre colonne
For Each cell In Range("A2:A" & lig) 'boucle sur sur toutes les cellules de la plage  allant de A2 jusqu'à la dernière ligne remplie A ADAPTER pour autre colonne
If Left(cell.Value, 5) = "tel:+" Then cell.Value = Right(cell.Value, 9) ' si les 5 premiers caractères sont tel:+ on ne retient que les 9 caractères à droite
Next
End Sub


Cdlmnt
Via
1
Kristolykid Messages postés 3 Date d'inscription mercredi 18 mai 2022 Statut Membre Dernière intervention 18 mai 2022
18 mai 2022 à 13:35
Bonjour,

Impeccable, ça fonctionne parfaitement, je te remercie beaucoup pour ton aide.

Cdt
0
Kristolykid Messages postés 3 Date d'inscription mercredi 18 mai 2022 Statut Membre Dernière intervention 18 mai 2022
Modifié le 18 mai 2022 à 11:07
Rebonjour,

Petite info supplémentaire à mon précédent message, un collègue m'a proposer de partir de la fin du numéro de téléphone puis de supprimer tout caractère qui se trouverait avant le premier chiffre affiché soit le 9ème en partant de la droite :

exemple : tel:+33123456789 (je supprime les caractères avant 1).

Effectivement ce serait très simple à mettre en place mais il se trouve que j'ai également des lignes où le numéro de téléphone est remplacé par une adresse mail.

Il faut donc que je puisse mettre une condition à ma requête pour ne pas tronquer les adresses mails (j'ai pensé à une condition si la cellule contient "tel+" on supprime sinon on laisse mais je ne sais pas comment faire).

Merci beaucoup pour votre aide
0
ccm81 Messages postés 10891 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 septembre 2024 2 421
18 mai 2022 à 11:49
Bonjour

Peux tu envoyer un bout de fichier bidon avec tous les cas possibles, sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

Cdlmnt
0