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

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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,
 

Fichiers joints

Dernière édition:

camarchepas

XLDnaute Barbatruc
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
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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,
:)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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,
 

Fichiers joints

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro supprimer caractères à gauche dans des cellules

Re-bonjour à tous,

Je ne sais que dire devant tant de gentillesse et de disponibilité ....
Un grand merci vraiment,
Amicalement,
Lionel,
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas