Bordure jusqu'à dernière colonne /hauteur cellules fusionnée

Bonsoir,

J'ai bien trouvé des exemples sur le forum, mais je n'arrive pas à adapter à mon cas.

Voilà, j'utilise le code ci-dessous pour fusionner des cellules de la première colonne de mon tableau.

Ce tableau est l'extraction de données d'une BD, à la fin de cette procédure des bordures standards sont appliquées, le fusionnage s'effectue en seconde étape.

Option Explicit
Sub merge()
    Dim i As Integer, m As Integer, DerLig As Integer
    Application.DisplayAlerts = False
    i = 5
    Do While Cells(i, 2) <> ""
        m = i
        Do While Cells(i, 2) = Cells(m, 2)
            i = i + 1
        Loop
        Cells(m, 2).Resize(i - m).MergeCells = True
        Cells(m, 2).Resize(i - m).VerticalAlignment = xlCenter
    Loop
End Sub

Je voudrais compléter ce code qui fusionne ou bien une autre procédure, pour appliquer une bordure épaisse de la première colonne à la dernière, et dont la hauteur sera celle des cellules fusionnées. la 1ère colonne est la B et la dernière est la M.

J'ai mis le résultat escompté dans le fichier. En vous remerciant par avance. Bonne année à tous.

bonsoir

voici une proposition

en forçant quand même les bordures fines au milieu

Fred

Bonsoir Fred2406,

Je te remercie beaucoup pour ton code. Je ne suis pas très à l'aise en vba et si je ne me trompe pas, tu me proposes une fonction.

Enfin, j'ai déduis ça car quand je l'ai lancé, c'est la fenêtre des macros qui s'est ouverte, étant donné que dans le fichier joint c'est la seule, y a pas photo. j'ai sélectionné ma macro.

Alors, ma question est comment vais-je l'intégrer dans mon code pour qu'elle s’exécute toute seule (par code).

Le résultat est bon, sauf une chose les données de la première colonne étaient centrées, après l’exécution elles sont à droites.

Ton code est génial. Personnellement, je pensais que la solution était du côté de la détection des cellules fusionnées.

Merci beaucoup.

quand j'ai refait les cellules après mon test je n'ai pas remis les lettres centrées... mon morceau de code ne change en rien l'alignement horizontale, donc si c'est aligné a gauche avant le lancement de la macro, cela reste à l'identique.... mais on peut arranger cela en mettant une ligne de code supplémentaire pour faire en sorte devienne centré a tout les coups... : donc ligne a inserer sous

Cells(m, 2).Resize(i - m).VerticalAlignment = xlCenter
Cells(m, 2).Resize(i - m).HorizontalAlignment  = xlCenter 

concernant ma fonction de cadrillage elle attend en paramètre une chaise de caractère indiquant la plage

exemple pour A il faut aller de B5 à M11 donc il faut envoyer "B5:M11" et je me sert de tes éléments de boucle pour déterminer le début et la fin d'ou la ligne de code :

 cadrillage ("B" & m & ":M" & i - 1)

fred

C'est impeccable, c'est parfait. je te suis vraiment reconnaissant.

j'étais vraiment sur la mauvaise voie, je cherchais un code qui permettait de détecter des cellules fusionnées.

Merci, je peux maintenant avancer un peu plus sur mon fichier.

Cordialement,

CP4

Dans ce cas merci de mettre le post en valider (le v en vert )

Fred

à ta guise, je le refait pour la 3ème fois. je peux le refaire autant que tu veux c'est très mérité.

Bonne soirée.

Rechercher des sujets similaires à "bordure derniere colonne hauteur fusionnee"