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,
 

Pièces jointes

  • Test.xlsm
    685.1 KB · Affichages: 51
  • Test.xlsm
    685.1 KB · Affichages: 59
  • Test.xlsm
    685.1 KB · Affichages: 62
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,
 

Pièces jointes

  • Test.xlsm
    685.6 KB · Affichages: 43
  • Test.xlsm
    685.6 KB · Affichages: 44
  • Test.xlsm
    685.6 KB · Affichages: 42

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 978
Membres
101 854
dernier inscrit
micmag26