Fusionner des colonnes et renvoyer à la ligne auto

J

Jason

Guest
Bonjour à tous,

J'ai un fichier excel où j'ai des données qui vont jusqu'à la colonne G

Mais le texte reste principalement au niveau de la colonne A.

Je souhaiterais faire en sorte de fusionner la colonne A avec les suivantes (maximum Colonne G) si et seulement si les colonnes suivantes sont vides.

Je pourrais le faire manuellement mais j'ai environ 2000 lignes à regarder alors une petite macro serait la bienvenue.

Merci d'avance.

Jason
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Jason, bonjour à toutes et à tous :)

Je te propose le bout de code suivant :

Sub Fusionne()
'
Dim Ligne%
Dim ColFin%
Dim i%
'
  For Ligne = 1 To Range('A65536').End(xlUp).Row
    i = 1
    Do
      i = i + 1
    Loop Until Cells(Ligne, i) ‹› '' Or i 7
    If i 2 Then
      ColFin = i - 1
      Range('A' & Ligne, Cells(Ligne, ColFin)).Merge
    End If
  Next Ligne
End Sub

Edition : les caractères en rouge gras sont à remplacer par les symboles équivalents du clavier (en cas de copier/coller, naturellement)

A+

Message édité par: Charly2, à: 17/01/2006 14:03
 
J

Jason

Guest
Rebonjour à tous,

Merci Charly pour cette macro, elel fonctionne bien et en tout cas comme je le souahite.

Une autre question, comment faire pour utiliser cette macro et réduire la hauteur de ma ligne au contenu du texte?

Car en fait je constate que dès lors que l'on fusionne deux cellules ensemble, le format de cellule 'retour à la ligne automatique' ne fonctionne pas.

Merci d'avance pour la réponse que vous pourrez m'apporter.

Jason
 
J

Jason

Guest
Bonjour le Forum,

J'ai essayé cette macro avec les modifications que l'on m'a proposé mais cela ne fonctionne pas. JE me retrouve à avoir mon texte qui n'a pas de retour automatique lorsque plusieurs cellules sont fusionnées. En plus clair, je me retrouve à ne lire qu'une ligne du texte dans la cellule fusionné alors que j'ai normalement trois lignes de texte qui devraient apparaitre.

Merci d'avance si vous trouvez une solution à m'apporter.[/color]

Jason

Ci-dessou la macro que j'ai utilisé :

Sub Fusionne()
'
Dim Ligne%
Dim ColFin%
Dim i%
'
For Ligne = 1 To Range('A65536').End(xlUp).Row
i = 1
Do
i = i + 1
Loop Until Cells(Ligne, i) ‹› '' Or i › 7
If i › 2 Then
ColFin = i - 1
Range('A' & Ligne, Cells(Ligne, ColFin)).Merge
Range('A' & Ligne, Cells(Ligne, ColFin)).Rows.Autofit
End If
Next Ligne
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 485
Messages
2 088 817
Membres
103 971
dernier inscrit
abdazee