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 :

Mettre plusieurs colonne sur plusieurs lignes


Sujet :

Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2008
    Messages : 183
    Points : 104
    Points
    104
    Par défaut Mettre plusieurs colonne sur plusieurs lignes
    Bonjour,

    J'ai récupérer un export de listing de mail de ma boîte de messagerie.
    Le problème c'est qu'il me met l'ensemble de ces mails sur plusieurs colonnes avec parfois plusieurs mails séparé d'une virgule dans une même colonnes.
    Et pour pouvoir utiliser au mieux cette liste il me faudrait que chaque mails soit dans une cellule séparé les uns en dessous des autres.
    Voici une capture de ce que je souhaiterais faire pour faire plus simple (Un dessin vos mieux que de grand discours).

    Nom : Capture d’écran 2019-04-02 à 10.37.29.png
Affichages : 176
Taille : 11,4 Ko

    Au début j'avais essayé avec CONCATENER( B1&""&CAR(10)&C1....) cela fonctionnait mais impossible ensuite de re-diviser cette cellule de plusieurs lignes en plusieurs cellules les une en dessous des autres.

    Si vous avez des solutions je suis preneur.

    Merci par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 955
    Points : 5 155
    Points
    5 155
    Par défaut
    Bonjour,

    Voici, à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Extraire()
        Application.ScreenUpdating = False
        Range("B2:B1000").ClearContents
        DerCol = [ZZ2].End(xlToLeft).Column
        DerLig = 2
        For Each cell In Range(Cells(2, "D"), Cells(2, DerCol))
            chaine = cell.Value
            Tbl = Split(chaine, ",")
            For i = 0 To UBound(Tbl)
                Cells(i + DerLig, "B") = LTrim(Tbl(i))
            Next i
            DerLig = [B1000].End(xlUp).Row + 1
        Next
    End Sub
    Avec le fichier
    Pièce jointe 463190

    Cdlt

  3. #3
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 80
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : avril 2016
    Messages : 7 563
    Points : 12 663
    Points
    12 663
    Par défaut
    Bonjour

    Sur la base (exemple) présenté --->>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    toto = Range("D1").Text
    For k = 5 To Cells(1, Columns.Count).End(xlToLeft).Column
      toto = toto & "," & Cells(1, k).Text
    Next
    titi = Split(toto, ",")
    Range("C1:C" & UBound(titi) + 1).Value = Application.Transpose(titi)
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2008
    Messages : 183
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    Merci à vous deux pour vos réponses.
    J'ai gardé la première réponse en "stock" car je comprends un peu mieux la logique.
    Je suis en train d'essayer de la modifier pour qu'elle le fasse également sur plusieurs lignes le problème c'est que pour l'instant la fonction plante car j'ai plus de 30 000 lignes

  5. #5
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 955
    Points : 5 155
    Points
    5 155
    Par défaut
    Bonjoiur,

    La modif s'il y a plusieurs lignes
    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
    Sub Extraire()
        Application.ScreenUpdating = False
        Range("B2:B1000").ClearContents
        DerCol = [ZZ2].End(xlToLeft).Column
        DerLig = 2
        DerLig_Mails = [D100000].End(xlUp).Row
        For j = 2 To DerLig_Mails
            For Each cell In Range(Cells(j, "D"), Cells(j, DerCol))
                chaine = cell.Value
                Tbl = Split(chaine, ",")
                For i = 0 To UBound(Tbl)
                    Cells(i + DerLig, "B") = LTrim(Tbl(i))
                Next i
                DerLig = [B1000].End(xlUp).Row + 1
            Next
        Next j
    End Sub
    Cdlt

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2008
    Messages : 183
    Points : 104
    Points
    104
    Par défaut
    Merci, je viens de tester mais dans ton exemple c'est plusieurs lignes dans une cellule mois dans mon cas c'est plusieurs ligne dans la feuille de calcul.

  7. #7
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 955
    Points : 5 155
    Points
    5 155
    Par défaut
    dans ton exemple c'est plusieurs lignes dans une cellule mois dans mon cas c'est plusieurs ligne dans la feuille de calcul NON , j'ai fais avec plusieurs lignes, voici le fichier en exemple
    Pièce jointe 463658

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    décembre 2008
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2008
    Messages : 183
    Points : 104
    Points
    104
    Par défaut
    Bonjour,

    Désolé de ne pas avoir répondu plus tôt trop de travail.
    J'ai re testé et effectivement cela semble être bon.
    Une question qu'elle est la taille max de ligne car la plage Range("B2:B1000").ClearContents est bien trop petite sinon je le ferrais en plusieurs fois.

    Merci

  9. #9
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    juillet 2016
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 955
    Points : 5 155
    Points
    5 155
    Par défaut
    Bonjour,

    Mettez la valeur que vous voulez et faites des essais.

    Cdlt

Discussions similaires

  1. [MySQL] Récupérer valeurs plusieurs colonnes sur une ligne
    Par nicoreims dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/03/2018, 21h59
  2. [OpenOffice][Tableur] Mettre plusieurs lignes sur une cellule
    Par Jfern dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 31/03/2010, 13h22
  3. mettre plusieurs lignes dans un messagebox
    Par mendezino dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/04/2009, 03h55
  4. [langage] mettre plusieurs lignes en commentaire
    Par perlaud dans le forum Langage
    Réponses: 7
    Dernier message: 14/04/2008, 18h35
  5. [langage] mettre plusieurs lignes en commentaire
    Par perlaud dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2004, 15h32

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