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

Macros et VBA Excel Discussion :

enlever caractères alphabétiques d'une chaine alphanumérique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Par défaut enlever caractères alphabétiques d'une chaine alphanumérique
    Bonjour a tous,

    SVP je cherche une fonction qui m'enlèvera les caracteres alphabetique d'une chaine alphanumerique.
    par exemple je donne la chaine "A123B2" et ça me retourne "1232".

    Merci d'avance.

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Au bout du compte (toutes tes explications autour du pot) ===>> extraire d'une chaine les caractères numériques !

    Utilise donc une boucle avec les fonctions Mid et Isnumeric !

    Exemple, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    toto = "A123B2"
    titi = ""
    For I = 1 To Len(toto)
      If IsNumeric(Mid(toto, I, 1)) Then
        titi = titi & Mid(toto, I, 1)
      End If
    Next
    MsgBox titi

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    sans préjuger que ça n'existe pas de façon native

    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
    Function Conveticeur(ByVal chene As String) As Long
    Dim I
    Dim Resultt
     
    For I = 1 To Len(chene)
        If IsNumeric(Mid(chene, I, 1)) Then
           Resultt = Resultt & Mid(chene, I, 1)
        End If
    Next I
    Conveticeur = Resultt
    End Function
     
    Sub toto()
    Dim chene As String
    chene = "a12z56t"
    MsgBox Conveticeur(chene)
    End Sub
    tu peux aussi utiliser les codes ASCII etc... etc..

    cordialement,
    rajout, OUPS ! collission avec Ucfoutou
    Didier

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour à tous,
    saud mauvaise compréhension de ma part du terme alphanumérique, il me semble qu'on ne traite ainsi pas les autres caractères ex :;=!() et cela me parait incomplet.

    Mais il est vrai que le définition de Alphanumérique est sujette à variation.

  5. #5
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub toto()
    Dim chene As String
    chene = "a12;z( -5 6=t"
    MsgBox Conveticeur(chene)
    End Sub

    renvoie bien 1256

    espace, (, -, ; sont bien considérés par le vba comme non numériques, il semble que ce soit ce à quoi il faut se fier, sauf à créer une exception propre à nsqualli pour ses besoins ?

    cordialement,

    Didier

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 181
    Par défaut
    Merci bcp pour vos reponses, des macros comme vous avez proposer je l'ai deja fais, mais je voulais savoir s'il y'a une fonction deja existante genre IsNumeric mais qui traite caractere par caractere.
    bon apparement y'en a pas.
    Merci bcp a vous tous.

  7. #7
    Invité de passage
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1
    Par défaut
    Exemple:
    Inscrivons en cellule A1 : 1234abc

    Puis dans en cellule A2 ou tout autre inscrire.
    =1*STXT(A1;EQUIV(VRAI;ESTNUM(1*STXT(A1;LIGNE($1:$9);1));0);NB(1*STXT(A1;LIGNE($1:$9);1)))

    Important Vous devez entrer ces formules en tant que matrices en appuyant sur CTRL+MAJ+ENTRÉE.

    Après CTRL+MAJ+ENTRÉE lorsque vous sélectionner la cellule le contenu doit apparaitre ainsi :
    {=1*STXT(A1;EQUIV(VRAI;ESTNUM(1*STXT(A1;LIGNE($1:$9);1));0);NB(1*STXT(A1;LIGNE($1:$9);1)))}


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

Discussions similaires

  1. Enlever des mots d'une chaine de caractères
    Par daniel1985 dans le forum Général Java
    Réponses: 1
    Dernier message: 20/03/2013, 16h49
  2. Réponses: 4
    Dernier message: 18/03/2009, 08h46
  3. Enlever les accents d'une chaine de caractères
    Par Coussati dans le forum Débuter
    Réponses: 10
    Dernier message: 22/02/2009, 22h07
  4. Enlever la fin d'une chaine de caractères
    Par snyfir dans le forum Langage
    Réponses: 4
    Dernier message: 07/08/2008, 17h41
  5. Réponses: 13
    Dernier message: 08/08/2006, 09h49

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