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 :

Remplacer Sauts de Ligne par insertion colonne


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Consultant en sécurité
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Remplacer Sauts de Ligne par insertion colonne
    Bonjour à tous,

    je recherche désespéremment un moyen de supprimer des sauts de lignes dans un fichier.
    A chaque saut de ligne trouvé il faudrait insérer une colonne dans le fichier et mettre le contenu trouvé dedans.

    Exemple : Fichier joint

    Merci encore de votre aide.

    Cordialement,
    Mathieu
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club Avatar de smacksime
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Avril 2011
    Messages : 17
    Points : 43
    Points
    43
    Par défaut
    Bonjour,
    Je ne vois pas vos sauts de lignes dans votre fichier. Pouvez vous être plus précis ?

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Consultant en sécurité
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut SUite
    EN fait ce que j'appelle les sauts de lignes se sont les retours à la ligne dans la colonne adresse.
    J'aimeraas qu'ils soient supprimés et que le texte après ces sauts se mette dans la colonne suivante (en l'insérant).

    Merci encore,

    Mathieu

  4. #4
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Voici une façon de faire:

    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
    Sub t()
    derlig = 11 ' A adapter
    tt = Array(vbNewLine, vbCrLf, vbLf, vbCr)
    SautDeligne = ""
    For i = 1 To derlig
     a = Cells(i, 5)
     For j = 0 To UBound(tt)
      If InStr(a, tt(j)) > 0 Then
       SautDeligne = tt(j)
       ok = True
       Exit For
       ok = True
      End If
     Next
     If ok = True Then Exit For
    Next
     If ok = False Then
      MsgBox "Aucun saut de ligne détecté"
      Exit Sub
     End If
     NbrSautsDeLigne = 0
    For i = 1 To derlig
     debut = 1
     nbr = 0
     b = InStr(debut, Cells(i, 5).Value, SautDeligne)
     While b > 0
      nbr = nbr + 1
      debut = b + Len(SautDeligne)
      b = InStr(debut, Cells(i, 5).Value, SautDeligne)
     Wend
     If nbr > NbrSautsDeLigne Then
      NbrSautsDeLigne = nbr
     End If
    Next
     
    For i = 1 To NbrSautsDeLigne + 1
    Columns("F:F").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Next
     
    For i = 2 To derlig
     a = Cells(i, 5).Value
     colonne = 0
     b = InStr(a, SautDeligne)
     While b > 0
      colonne = colonne + 1
      Cells(i, 5 + colonne).Value = Mid(a, 1, b - 1)
      a = Mid(a, b + Len(b + Len(SautDeligne)))
      b = InStr(a, SautDeligne)
     Wend
     If a <> "" Then
      colonne = colonne + 1
      Cells(i, 5 + colonne).Value = a
     End If
    Next
     
    End Sub

  5. #5
    Membre du Club Avatar de smacksime
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Avril 2011
    Messages : 17
    Points : 43
    Points
    43
    Par défaut
    Ou bien, sans VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTERREUR(TROUVE(CAR(10);E2;1))=FAUX;DROITE(E2;NBCAR(E2)-TROUVE(CAR(10);E2;1));"")
    A vous lire,

Discussions similaires

  1. Remplacer Saut de ligne par un autre caractère
    Par kurtalis dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 18/05/2007, 17h40
  2. Réponses: 23
    Dernier message: 02/05/2007, 14h52
  3. Réponses: 34
    Dernier message: 08/03/2007, 14h51
  4. Réponses: 16
    Dernier message: 22/03/2006, 11h11
  5. remplacer des sauts de ligne par '\n'
    Par Miksimus dans le forum Général Python
    Réponses: 5
    Dernier message: 18/07/2005, 10h01

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