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 :

Convertir une cellule avec des lettres et des chiffres en deux cellules


Sujet :

Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Convertir une cellule avec des lettres et des chiffres en deux cellules
    Bonjour à toutes et à tous,

    Je voudrais arriver à convertir une cellule avec une ou deux lettres suivi d'un nombre en deux cellules distinctes (une avec la ou les lettres et l'autre avec le nombre.
    Il s'agit de références cadastrales.
    Exemple dans la meme colonne, j'ai:

    ad230
    b159
    ae38
    f1258

    et je voudrai obtenir:
    ad;230
    b;159
    ae;38
    f;1258

    La fonction "convertir" du menu données ne convient pas car je n'ai pas de champ fixe ni d'espace ou de ;.
    Merci d'avance pour vos réponses.
    Cordialement

  2. #2
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Points : 323
    Points
    323
    Par défaut
    Bonjour,

    une solution en vba :
    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
    For i = 1 To Range("A65536").End(xlUp).Row
        texte_depart = Cells(i, 1).Value
        texte = ""
        longueur = Len(Cells(i, 1))
        For j = 1 To Len(Cells(i, 1))
            'texte = Left(Cells(i, 1), j)
            'MsgBox Mid(Cells(i, 1), j, 1)
                If Not IsNumeric(Mid(Cells(i, 1), j, 1)) Then
                    texte = texte & Mid(Cells(i, 1), j, 1)
                Else
                    Exit For
                End If
        Next j
        Cells(i, 1).Value = texte
        Cells(i, 2).Value = Right(texte_depart, longueur - Len(Cells(i, 1)))
    Next i
    Ce code fonctionne si les données sont en colonne A et commencent à la première ligne.

    Attention : pas de gestion d'erreur.

    @+

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    EN cherchant bien
    un peu compliqué mais on y arrive
    en supposant que n'as forcément que 1 ou 2 lettres
    ta reference en A1
    en B1 extraction des lettres
    =SI(SI(ESTNUM(CNUM(STXT(A1;2;1)));VRAI;FAUX);GAUCHE(A1;1);GAUCHE(A1;2))
    en C1 extraction des chiffres
    =SI(SI(ESTNUM(CNUM(STXT(A1;2;1)));VRAI;FAUX);DROITE(A1;NBCAR(A1)-1);DROITE(A1;NBCAR(A1)-2))
    tu dis si ça te vas

  4. #4
    Membre averti
    Inscrit en
    Février 2008
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 267
    Points : 306
    Points
    306
    Par défaut
    Bonjour

    Pour extraire les lettres de gauche, quel que soit leur nombre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =GAUCHE($A1;EQUIV(0;(ESTERREUR(STXT($A1;LIGNE(INDIRECT("1:"&NBCAR($A1)));1)*1)*1);0)-1)
    Pour extraire les chiffres, quel que soit leur emplacement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =STXT($A1;EQUIV(0;(ESTERREUR(STXT($A1;LIGNE(INDIRECT("1:"&NBCAR($A1)));1)*1)*1);0);NBCAR($A1)-SOMME((ESTERREUR(STXT($A1;LIGNE(INDIRECT("1:"&NBCAR($A1)));1)*1)*1)))
    Ces deux formules sont MATRICIELLES : à valider avec CTRL+MAJ+ENTREE

    Amicalement
    Nad

Discussions similaires

  1. Conversion des lettres par des lettres avec accent
    Par SamusStrife dans le forum Général Java
    Réponses: 6
    Dernier message: 28/10/2014, 16h44
  2. Réponses: 2
    Dernier message: 18/11/2011, 17h57
  3. probleme avec des lettres dans des conditions
    Par nefas dans le forum C++
    Réponses: 7
    Dernier message: 01/08/2008, 15h25
  4. Séparation des lettres et des chiffres d'une chaîne
    Par camoa dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/01/2007, 18h46
  5. [VB-Excel]Trier une valeur comprennant des lettres et des chiffres
    Par DomBourti dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2006, 22h51

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