IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Supprimer les chiffres d'une cellule contenant de l'alphanumerique.


Sujet :

Excel

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Supprimer les chiffres d'une cellule contenant de l'alphanumerique.
    Bonjour,

    Sous Excel en VBA
    je desire effectuer un copier coller d'une colonne A comprenant dans les cellules de l'alphanumerique vers une colonne B , en ayant effacé les chiffres pour ne garder que les lettres.

    Est ce que quelqu'un aurait la solution ?

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Points : 1 114
    Points
    1 114
    Par défaut
    Salut Sandra:

    cette fonction enlève les nombres d'une cellule alphanumérique:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Function enleve_nbre(ByRef texto As String) As String
     
          Dim reg As Object
          Dim extraction As Object
          Dim lettre As Object
     
         'instancie
         Set reg = CreateObject("vbscript.regexp")
     
        '  travaille sur toute la cellule
        reg.Global = True
        '  définit le modèle (complémentaire au chiffres )
       reg.Pattern = "(\D)"
     
        ' éxécute l'extraction svt modèle (collection des lettres)
        Set extraction = reg.Execute(texto)
        ' concaténète les membres de la collection "extraction"
        For Each lettre In extraction
            enleve_nbre = enleve_nbre & (lettre.Value)
        Next lettre
     
        Set extraction = Nothing
        Set reg = Nothing
    End Function
    ci joint tite démo
    Michel_M

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut ca marche pas...


    Merci de votre reponse, en effet sous votre feuille ca fonctionne
    Comment est ce qu'on insere un module ?
    suis débutante en VBA..

    LOL

    Merci

    excel 2002

  4. #4
    Membre averti Avatar de Tdeny
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 287
    Points : 311
    Points
    311
    Par défaut
    Bonjour,

    Ça peut se faire aussi en formule.
    Avec SI, CODE > 57, STXT et CONCATENER
    Mais il faut répéter autant de fois qu'il y a de caractères.
    Vendez votre habileté et achetez l’ahurissement.
    L’habileté est seulement l’opinion, l’ahurissement l’intuition.
    Djalal–eddine Roumi

  5. #5
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    passer sous VBE [Alt+F11] puis Menu Insertion | Module

    Sinon moins élégante qu'une expression régulière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function RemoveNum(ByVal s As String) As String
    Dim i As Long
        For i = 1 To Len(s)
            If IsNumeric(Mid(s, i, 1)) Then Mid(s, i, 1) = " "
        Next i
        s = Replace(s, " ", "")
        RemoveNum = s
    End Function

  6. #6
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut complement
    ah oui, j'ai aussi des caracteres a retirer tel que ///, comment est ce que je peux l'integrer dans la formule.

    MErci

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Function RemoveNum(ByVal s As String) As String
    Dim i As Long
        For i = 1 To Len(s)
            If IsNumeric(Mid(s, i, 1)) Then Mid(s, i, 1) = " "
        Next i
        s = Replace(s, " ", "")
        s = Replace(s, "/", "")
        RemoveNum = s
    End Function

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Points : 1 114
    Points
    1 114
    Par défaut
    re à tous

    a la place de
    reg.pattern="(/D)"

    écris;
    reg.Pattern = "([a-zA-Zçàâäéèêëïîôöùû])"
    Michel_M

  9. #9
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Création Fonction Personnalisée

    Le code est à placer dans un Module standard
    [Alt+F11] Menu Insertion | Module

    Ensuite sous Excel
    Sélectionner la cellule de destination
    Menu Insertion | Fonction | Catégorie : Personnalisées
    Sélectionner la Fonction_Désirée
    l'assistant apparait etc

    Sinon par Exemple A1 =Fonction_Désirée(...)

  10. #10
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Ca Maaaarche
    C'est trooooop Cool

    MERCI MERCI MERCI

  11. #11
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Bonjour,
    J ai le meme souci mais je doit enlever un gilmet

    du type ' 00900 et je veut enlever le gilmet et les 2 espaces avant mon nombre

    Pouvez vous m aider ?

    Cordialement

  12. #12
    Candidat au Club
    Inscrit en
    Juillet 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut re bonjour,
    J ai trouver comment faire pour enlever le gilmet et les espaces

    J ai une nouvelle demande :

    Aujourd hui j ai de cases du type 00020012802 et je voudrait enlever les 6 premier chiffre pour avoir a la fin juste 12802

    Pouvez vous m aider ?

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. extraire uniquement les chiffres d'une cellule
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/08/2017, 18h25
  2. [Toutes versions] extraire les chiffres d'une cellule
    Par Timi493 dans le forum Excel
    Réponses: 17
    Dernier message: 01/01/2014, 23h52
  3. Supprimer les boutons d'une cellule
    Par tenebriox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 28/08/2010, 19h26
  4. Macro pour supprimer les lettres d'une cellule?
    Par LittleSun dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/01/2010, 19h56
  5. [XL-2003] comment récupérer les 4 dernier chiffres d'une cellule
    Par bosk1000 dans le forum Excel
    Réponses: 4
    Dernier message: 27/08/2009, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo