XL 2010 Suppression de lignes vides

Philippe LAMACHE

XLDnaute Junior
Bonjour à tous,

J'ai ce petit bout de code (récupéré sur le net) pour concaténer plusieurs cellules en une :
VB:
Sub Concatener_TXT()
Cells(2, 2).ClearContents
For i = 1 To 50
    Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
Next
Columns("A:B").ColumnWidth = 50
Columns("A:B").AutoFit
End Sub

Par contre il me fait des "lignes vides" dans ma cellule concaténée.

Quelqu'un aurait-il la solution pour les supprimer ?

Par avance, merci.
 

Philippe LAMACHE

XLDnaute Junior
Re,

J'ai modifié mon code : Remplacé 50 (For i = 1 To 50) par "Dernière ligne" et il ne me reste plus qu'une ligne vide au début de ma cellule.
VB:
Sub Concatener_TXT()
Cells(2, 2).ClearContents
For i = 1 To Range("A1048576").End(xlUp).Row
    Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
Next
Columns("A:B").ColumnWidth = 50
Columns("A:B").AutoFit
End Sub
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Sans doute, des cellules vides dans la colonne de données.
VB:
For i = 1 To Range("A1048576").End(xlUp).Row
   If Cells(i,1)<>"" Then Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
Next
'
'  OU
'For i = 1 To Range("A1048576").End(xlUp).Row
'   If Not IsEmpty(Cells(i,1)) Then Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
'Next

Cordialement
 

frangy

XLDnaute Occasionnel
Bonjour,

A tester ...
VB:
Sub Concatener_TXT()
Dim i As Long
    Cells(2, 2).ClearContents
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
    Next
    Cells(2, 2) = Right(Cells(2, 2), Len(Cells(2, 2)) - 1)
    Columns("A:B").ColumnWidth = 50
    Columns("A:B").AutoFit
End Sub
Cordialement.
 

Philippe LAMACHE

XLDnaute Junior
Bonjour Roblochon,
Bonjour frangy,

Désolé mais mon problème n'est pas là.
Je n'ai pas de cellules vides dans ma colonne "A" du fait que le créée une liste de fichiers sans extension contenus dans un répertoire.

Je pars de ça :
Capture 1.PNG


et quand j'exécute mon code, voici mon résultat :
Capture 2.PNG


Ce sont les deux premières lignes que je ne voudrait pas. (1ère ligne vide et 2ème ligne "Nom du ...").
 

Philippe LAMACHE

XLDnaute Junior
Bonjour,

A tester ...
VB:
Sub Concatener_TXT()
Dim i As Long
    Cells(2, 2).ClearContents
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
    Next
    Cells(2, 2) = Right(Cells(2, 2), Len(Cells(2, 2)) - 1)
    Columns("A:B").ColumnWidth = 50
    Columns("A:B").AutoFit
End Sub
Cordialement.
Bonjour,
La ligne vide disparaît mais je n'arrive pas à enlever le texte de la cellule A1.
 

frangy

XLDnaute Occasionnel
Re,

Sinon ...
VB:
Sub Concatener_TXT()
Dim i As Long
    Cells(2, 2).ClearContents
    For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
        Cells(2, 2) = Cells(2, 2) & Chr(10) & Cells(i, 1)
    Next
    Cells(2, 2) = Right(Cells(2, 2), Len(Cells(2, 2)) - 1)
    Columns("A:B").ColumnWidth = 50
    Columns("A:B").AutoFit
End Sub
Cordialement.
 

Discussions similaires

Réponses
3
Affichages
588

Statistiques des forums

Discussions
312 249
Messages
2 086 609
Membres
103 260
dernier inscrit
NHOURRA