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 :

Découpage contenu d'une cellule en x colonnes


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Découpage contenu d'une cellule en x colonnes
    Bonsoir à tous,

    Je cherche comment faire pour séparer le contenu d'une cellule.
    Je vous explique :

    la cellule A5 contient une chaine de caractère comme suit : LPMAT / CSM / LIGNE / MAT1
    Je souhaite avoir chaque valeur dans une colonne spécifique.
    A5 = LPMAT / CSM / LIGNE / MAT1
    B5 = LPMAT
    C5 = CSM
    D5 = LIGNE
    E9 = MAT1

    Sachant que je souhaite faire de même pour toutes les lignes de ma base de données (6900 lignes)
    et que la colonne A peut avoir :
    - LPMAT tout simplement => Ai = LPMAT, Bi = LPMAT
    - LPMAT / CSM => Ai = LPMAT / CSM, Bi = LPMAT, Ci=CSM.

    Merci de votre aide, Macro ou formule .

  2. #2
    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
    Salut, F1 sur Split

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    468
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 468
    Points : 744
    Points
    744
    Par défaut
    Bonjour,

    Citation Envoyé par Grankiller33 Voir le message
    Merci de votre aide, Macro ou formule .
    Et si c'était "ni macro, ni formule" ?

    1. Sélectionner la colonne A, copier (Ctrl+C)
    2. Coller en colonne B (Ctrl+V)
    3. Onglet (ou Menu, selon la version d'Excel), Convertir → Délimité → Suivant : Décocher "Espace", cocher "autre" et mettre le séparateur adéquat /

    C'est tout.
    J'utilise LibreOffice 4 donc quand je suis sur la partie du forum Excel, il se peut que mes réponses ne soit pas adéquates. Veuillez m'en excuser.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Je vais supposer qu'il peut y avoir au maximum 4 "/" dans tes cellules A. S'il peut y en avoir plus, tu adapteras.

    Tu mets en F5 la formule :
    Tu mets en G5 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(STXT(F5;TROUVE("/";F5)+2;1000);"")
    Tu la recopies en H5 et I5

    Tu mets en B5 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(GAUCHE(F5;TROUVE("/";F5)-1);"")
    Tu la recopies en C5, D5 et E5

    Tu recopies B5:I5 sur toutes tes lignes.
    Ensuite tu peux masquer les colonnes F à I si besoin.

    Il doit être possible de faire ça sans les colonnes intermédiaires avec une formules à grand renforts de SI() multiples, mais cette solution a l'avantage d'être simple et facile à comprendre.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour a tous,

    Voilà une autre solution avec la méthode TextToColumns :
    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
    Sub Split_ColA()
        Dim rg As Range, c1 As Range, c2 As Range
        With ActiveSheet
            Set c1 = .[A1]
            Set c2 = .Cells(.Cells(Application.Rows.Count, 1).End(xlUp).Row, 1)
            Set rg = .Range(c1, c2)
                rg.TextToColumns _
                    Destination:=Range("B1"), _
                    DataType:=xlDelimited, _
                    TextQualifier:=xlDoubleQuote, _
                    ConsecutiveDelimiter:=True, _
                    Tab:=True, _
                    Semicolon:=False, _
                    Comma:=False, _
                    Space:=True, _
                    Other:=True, _
                    OtherChar:="/", _
                    FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _
                    TrailingMinusNumbers:=True
        End With
    End Sub
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/11/2014, 17h22
  2. Réponses: 2
    Dernier message: 18/10/2014, 14h01
  3. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 17h08
  4. Réponses: 3
    Dernier message: 27/01/2006, 18h35
  5. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 15h26

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