Fusion cellule

bonjour a tous,

je reviens vers vous car j'ai un petit souci de fusion de cellule

j'ai un tableau avec deux colonnes A et B

je remplis les cellules de chaque colonnes avec un USF

je souhaiterai fusionner de A1 à A6, puis de A7 à A12 etc, jusqu'à la dernière ligne de mon tableau rempli.

en vous remerciant à l'avance,

anna

Bonjour Anna, bonjour le forum,

Le code ci-dessous devrait fonctionner si tu as au moins une valeur dans la colonne A après la ligne 6 :

Sub Macro1()
Dim O As Object
Dim DL As Integer

Set O = Sheets("Feuil1")
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row
For I = 1 To DL Step 6
    O.Range(O.Cells(I, 1), O.Cells(I + 5, 1)).Merge
Next I
End Sub

Mais attention ! VBA et les cellules fusionnées c'est souvent la galère. Pour envoyé une données dans la cellule A1 fusionnée ce n'est plus : Range("A1").Value = "une donnée" mais : Range("A1:A6").Cells(1).Value = "une donnée"

bonjour Thau theme,

super ta solution, c'est exactement ce que je cherchais et je tournais en rond avec une constante de fin qui me dérangeait.

peut tu m'expliquer cette ligne :

DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row

en tout cas merci beaucoup

anna

Bonjour Anna, bonjour le forum,

La variable DL (Dernière Ligne) est définie comme suit :

• On part de la dernière ligne :

Application.Rows.Count permet de définit la dernière ligne d'un onglet quelle que soit la version d'Excel (65536 : Excel 2003 / 1048576 : Excel après 2003)

• on travaille sur la colonne A :

Cells(Application.Rows.Count, 1) équivaut àla dernière cellule de la colonne 1 (=A)

• on atteint la dernière cellule éditée de la colonne avec End(xlUp) qui équivaut a la combinaison de touche [Fin] + [Flèche vers le haut]

• Résultat, imaginons que dans l'onglet O la dernière cellule éditée de la colonne A soit A536 :

DL = O.cells(Application.Rows.Count, 1).End(xlUp).Row va donner DL = 536

merci pour l'explication très clair

bon courage

anna

Rechercher des sujets similaires à "fusion"