RESOLU - Macro supprimer caractères à gauche dans des cellules

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous,

Nouveau problème sans solution pour moi après mes recherches.

Vous le verrez dans le fichier joint (protégé sans mot de passe), je saisie des numéros de téléphones (col. C et D) en 9 chiffres (sans le 0).
Pour "le côté" pratique de saisie, j'y ajoute 33 devant en exécutant la macro : CopieLigne qui correspond au bouton Rappel suivant.

Mais voilà, à chaque fois que je clique sur Rappel suivant, un nouveau 33 est ajouté.

Je suis donc parti sur l'idée d'une macro qui me supprimerait "mes 33"' avant nouvel ajout (macro Rappel suivant) mais je n'y arrive pas malgré mes recherches tous azimuts et mes essais. Il me supprime aussi les 33 qui sont à l'intérieur de mes numéros.

J'ai trouvé sur le net cette macro qui devrait m'enlever les 2 premiers chiffres de mes cellules mais je n'arrive pas à la faire fonctionner :

Code:
Sub Enlever()
    Dim Cel As Range, x
        For Each Cel In Range("C4:D1000") 'plage à régler
           x = Mid(Cel, 1, 1)
            If x = 0 Then Cel = Mid(Cel, 3, 10)
        Next Cel
End Sub

La meilleure solution serait peut-être la macro qui m'a été transmise et que j'utilise pour ajouter le 33 mais complétée afin que si le 33 est déjà présent, il ne soit pas encore ajouté.

Encore besoin de votre aide et je vous en remercie vivement.

Je vous souhaite un très bon WE à toutes et à tous,
Amicalement,
Lionel,
 

Pièces jointes

Dernière édition:
Re : Macro supprimer caractères à gauche dans des cellules

Bonjour ,

Voilà , petite correction pour ne pas ajouter le 33 si déjà existant

Code:
Sub AjouteC33()
Dim Lg%, i%
    Application.ScreenUpdating = False
    Lg = Range("c65536").End(xlUp).Row
        For i = 3 To Lg
            If Left(Cells(i, "c"), 2) <> "33" Then
                Cells(i, "c") = "33" & Cells(i, "c")
            End If
        Next i
End Sub
Sub AjouteD33()
Dim Lg%, i%
    Application.ScreenUpdating = False
    Lg = Range("d65536").End(xlUp).Row
        For i = 3 To Lg
            If Left(Cells(i, "d"), 2) <> "33" Then
                Cells(i, "d") = "33" & Cells(i, "c")
            End If
        Next i
End Sub
 
Re : Macro supprimer caractères à gauche dans des cellules

Bonjour camarchepas,
Bonjour à toutes et à tous,

Mais si "ça marche" et super bien.

Bon sang de bon sang, il faut que j'active mon neurone .... LOl
Un grand merci encore une fois.

Un très bon WE à vous tous,
Amicalement,
Lionel,
🙂
 
Re : Macro supprimer caractères à gauche dans des cellules

Bonjour à toutes et à toutes,

Au secours,

Ce que m"a fait canemarche pas marche "trop bien" LOL

Dans la colonne "D", la macro m'ajoute un 33 dans chaque cellule vide à partir du moment ou une cellule contient un numéro.

Ce qui me semble curieux, c'est que cela ne semble pas se produire pour la colonne "C".

Évidemment, j'ai beau chercher, je ne trouve pas.

Encore besoin de vous 🙂
Avec mes remerciements, je vous souhaite une très bonne fin de dimanche.

Amicalement,
Lionel,
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour