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 :

Split - contenu cellule [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Par défaut Split - contenu cellule
    Bonjour à tous,

    Je cherche à récupérer de façon distincte le contenu d'une cellule, je m'explique:

    Une cellule contient plusieurs "bouts" de texte, séparés par un " / "

    ex) C1 contient: "A / B / C"

    je souhaiterais récupérer les infos distinctement dans 3 nouvelles cellules

    C2 -> "A"
    C3 -> "B"
    C4 -> "C"

    est-ce possible et si oui comment?

    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Test()
    Dim Tablo
    Dim i As Integer
        Tablo = Split(Range("C1").Value, "/")
        For i = 0 To UBound(Tablo)
            Range("C" & i + 2) = Trim(Tablo(i))
        Next i
    End Sub
    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Par défaut
    Merci! ton code marche nickel par contre (je pensais pouvoir me débrouiller tt seul mais je ne m'en sors pas)...

    Je souhaiterais généralisé ton code à toutes les cellules renseignées de ma colonne (en l'occurence "W"...) feuille "BASEDEDONNEES" et récupérer les résultats splités dans une nouvelle feuille ("Feuil1") colonne "A".

    ex) colonne "W": W2 = A / B / C ; W3 = A / B ; W(derniere ligne) = A

    donne dans ma nouvelle feuille tout les splits à la suite dans la même colonne

    A1 = A ; A2 = B ; A3 = C ; A4 = A ; A5 = B .... A(...) = A

    J'ai commencé par cherché à définir la derniere cellule remplie de ma colonne "W" puis j'essaye une récurrence sur les cellules... pas d'erreur de compil mais au final pas de résultat (enfin si ça ne me retourne que A1 = A ; A2 = B ; A3 = C ... après rien)

    Voici mon petit bout de code (soyez indulgents ^^ vba et moi c'est tt récent ^^)


    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
    Sub Test2()
    Dim Tablo
    Dim i As Integer, j As Integer, der As Long
     
    der = Sheets("BASEDEDONNEES").Cells(Rows.Count, "W").End(xlUp).Row
     
     
    For j = 1 To der
     
        Tablo = Split(Sheets("BASEDEDONNEES").Cells(j, "W").Value, "/")
     
        For i = 0 To UBound(Tablo)
            Sheets("Feuil1").Range("A" & i + 1) = Trim(Tablo(i))
        Next i
     
    Next j
     
    End Sub
    Merci d'avance pour vos réponses

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Par défaut
    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
    Sub test3()
     
    der = Sheets("BASEDEDONNEES").Cells(Rows.Count, 23).End(xlUp).Row
     
    For j = 3 To der
    a = Sheets("BASEDEDONNEES").Cells(j, "W").Value
    Tablo = Split(a, "/")
    For i = 0 To UBound(Tablo)
    Sheets("Feuil1").Cells(j - 2, i + 1) = Trim(Tablo(i))
    Next i
     
     
    Next j
     
    End Sub

    J'ai continué ma petite cuisine et ceci semble fonctionner

  5. #5
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    C'est toujours plus gratifiant quand on trouve tout seul .
    Prends la bonne habitude de déclarer tes variables (Option Explicit est à consommer sans modération).
    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
    Option Explicit
    Sub test3()
    Dim Tablo() As String
    Dim i As Integer
    Dim j As Long, Der As Long
        With Worksheets("BASEDEDONNEES")
            Der = .Cells(Rows.Count, "W").End(xlUp).Row
            For j = 3 To Der
                Tablo = Split(.Cells(j, "W").Value, "/")
                For i = 0 To UBound(Tablo)
                    Worksheets("Feuil1").Cells(j - 2, i + 1) = Trim(Tablo(i))
                Next i
            Next j
        End With
    End Sub
    Encore un petit d'encouragement.

    Cordialement.

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Par défaut
    Merci pour ces conseils!

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

Discussions similaires

  1. copie contenu cellule sans bordure
    Par hicham28 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/05/2007, 13h04
  2. pied de page ==> contenu cellule
    Par toutyx dans le forum Excel
    Réponses: 3
    Dernier message: 23/05/2007, 17h27
  3. BO - Contenu cellule html
    Par rickar dans le forum Designer
    Réponses: 2
    Dernier message: 12/03/2007, 12h34
  4. [VBA-E]Contenu cellule dans array
    Par Darkhin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/02/2007, 02h31
  5. [VBA-E] contenu cellule excel > 255 caractères ? Comment ?
    Par Lenzo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/02/2007, 01h04

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