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

  1. #1
    Membre du Club
    Inscrit en
    septembre 2008
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : septembre 2008
    Messages : 556
    Points : 46
    Points
    46

    Par défaut Transformer plusieurs lignes en une ligne

    Bonjour

    J’ai dans mon fichier des valeurs « F » qui commence toutes par <polygon et ces valeurs sont sur plusieurs lignes j’aimerais les transformer sur une ligne, j’ai fait un modèle pour être plus explicite

    je vous remercie
    Max
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expérimenté Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    mars 2007
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : mars 2007
    Messages : 699
    Points : 1 309
    Points
    1 309

    Par défaut

    Bonjour,

    Tu devrais expliquer ton problème de façon plus détaillée, beaucoup de participants à ce forum n'ouvrent pas les fichiers joints, entre autre pour les raisons expliquées ici : http://www.developpez.net/forums/d84...s-discussions/
    Cordialement,
    Patrice
    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  3. #3
    Membre du Club Avatar de Mr.Anime
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    octobre 2018
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : octobre 2018
    Messages : 21
    Points : 40
    Points
    40

    Par défaut

    Bonjour Forum, bonjour apdf1,

    Ne comprenant pas tous de ton message je vais essayer deux, trois trucs.
    As-tu essayer de sélectionner tes données et d'appliquer l'option "Convertir" sous excel ?
    Cela se trouve sous l'onglet "Données" puis "Outils de données" et enfin "Convertir"

    si ce n'est pas ça que tu recherches à faire, essaye un "Rechercher" --> "Remplacer"

    Bonne journée

    Mr.Anime
    C'est en forgeant que l'on devient forgeron.

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    3 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 3 326
    Points : 6 614
    Points
    6 614

    Par défaut

    Bonjour,

    Le résultat en feuille "Feuil2", la plage commence en F5 :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
        Dim Chaine As String
        Dim Lig As Integer
     
        Set Plage = DefPlage(Worksheets("Feuil1"), 5, 6)
     
        For Each Cel In Plage.Columns(1).Cells
     
            If Cel.Value <> "" Then
     
                If Chaine <> "" Then
     
                    With Worksheets("Feuil2")
                        Lig = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                        .Cells(Lig, 1).Value = Chaine
                    End With
     
                    Chaine = ""
     
                End If
     
                Chaine = Chaine & Cel.Value
     
            Else
     
                Chaine = Chaine & Cel.Offset(, 1).Value
     
            End If
     
        Next Cel
     
    End Sub
     
    Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
     
        On Error GoTo Fin
     
        With Fe
     
            Set DefPlage = .Range(.Cells(L, C), _
                           .Cells(.Cells.Find("*", .[A1], -4123, , _
                           1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                           2, 2).Column))
     
        End With
     
        Exit Function
     
    Fin:
     
        Set DefPlage = Nothing
     
    End Function

  5. #5
    Membre du Club
    Inscrit en
    septembre 2008
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : septembre 2008
    Messages : 556
    Points : 46
    Points
    46

    Par défaut

    Bonjour à tous

    Je voudrais savoir s'il est possible de recopier les lignes sur la même feuille et au même endroit

    Merci

    Max

  6. #6
    Expert éminent
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    3 326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 3 326
    Points : 6 614
    Points
    6 614

    Par défaut

    Bonjour,

    Avec les valeurs sur la même feuille :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Sub Test()
     
        Dim Tbl() As String
        Dim Plage As Range
        Dim Cel As Range
        Dim Chaine As String
        Dim I As Integer
     
        Set Plage = DefPlage(Worksheets("Feuil1"), 5, 6)
     
        For Each Cel In Plage.Columns(1).Cells
     
            If Cel.Value <> "" Then
     
                If Chaine <> "" Then
     
                    I = I + 1: ReDim Preserve Tbl(1 To I)
                    Tbl(I) = Chaine
                    Chaine = ""
     
                End If
     
                Chaine = Chaine & Cel.Value
     
            Else
     
                Chaine = Chaine & Cel.Offset(, 1).Value
     
            End If
     
        Next Cel
     
        Cells.Clear
        Range(Cells(1, 1), Cells(UBound(Tbl), 1)).Value = Application.Transpose(Tbl)
     
    End Sub

Discussions similaires

  1. [XL-2007] Besoin de transposer un fichier excel en plusieurs colonnes sur plusieurs lignes
    Par le_savoyard dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/05/2015, 17h00
  2. Response.Write sur plusieurs lignes
    Par simoryl dans le forum ASP
    Réponses: 2
    Dernier message: 31/08/2004, 23h49
  3. Réponses: 2
    Dernier message: 10/05/2004, 08h55
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 08h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 12h45

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