Cellule fusionnée et xlEdgeRight - VB/VBA/VBS - Programmation
Marsh Posté le 18-12-2012 à 17:18:09
Avec la propriété MergeArea (voir l'aide de VBA) cela devrait aller …
Marsh Posté le 18-12-2012 à 17:53:19
Merci Marc,
J'ai trouvé une solution certainement pas la plus simple mais bon ça marche; cela consiste à repérer les cellules fusionnées dont la cellule juste à côté a une bordure gauche
If Cells(i, j).MergeArea.Columns.Count > 1 And Not Cells(i, Cells(i, j).MergeArea.Columns.Count + 1).Borders(xlEdgeLeft).LineStyle = xlNone Then Cells(i, j) = "Test" & Cells(i, j).Value
Marsh Posté le 18-12-2012 à 20:21:12
Et pourquoi ne pas tester directement sur Cells(i,j).MergeArea ?
Code :
|
Le test de la première ligne ne sert qu'à éviter de refaire plusieurs fois l'affectation sur le même groupe de cellules fusionnées,
j'ai supposé qu'il s'agissait d'une boucle …
Et cela fonctionne aussi pour une cellule non fusionnée car le test s'effectue sur l'adresse de la première cellule de MergeArea,
donc la cellule elle-même !
S'il y a beaucoup de ligne à traiter, mettre en début de code Application.ScreenUpdating = False accélère le traitement.
Marsh Posté le 18-12-2012 à 16:49:47
Bonjour à tous,
J'ai besoin de repérer les bordures droites des cellules et je ne sais pas pourquoi j'arrive à les repérer sur les cellules simples mais je n'arrive pas à les repérer sur les cellules fusionnées.
Ex : je lance la macro suivante sans succès
Sub Macro1()
If Not Cells(1, 1).Borders(xlEdgeRight).LineStyle = xlNone Then Cells(1, 1) = "Test" & Cells(1, 1).Value
End Sub
Au contraire, cela marche pour toutes les autres bordures et les cellules non fusionnées. Je précise que je ne peux pas dé-fusionner ces cellules pour le bon fonctionnement de ma macro.