dionys0s
XLDnaute Impliqué
Salut le forum,
je pensais que la solution serait simple, mais il semblerait que non.
Je cherche à définir le nombre de cellule d'une plage, et je veux que les cellules fusionnées ne comptent que pour une seule cellule.
Je pense que j'ai dû louper quelque chose. Je pensais que MaPlag.MergeArea.Cells.Count, ou quelque chose dans ce style, ferait l'affaire, mais impossible de trouver quoi que ce soit qui fonctionne.
J'ai contourné ça à l'aide d'une petit fonction, mais je demande si je n'ai pas loupé quelque chose, une méthode ou je ne sais quoi. Ci-dessous, la fonction commise.
Y a-t-il une méthode plus rapide et simple qui te saute aux yeux, Ô toi, lecteur qui a eu la gentillesse de lire jusqu'ici ?
D'avance merci
dionys0s
je pensais que la solution serait simple, mais il semblerait que non.
Je cherche à définir le nombre de cellule d'une plage, et je veux que les cellules fusionnées ne comptent que pour une seule cellule.
Je pense que j'ai dû louper quelque chose. Je pensais que MaPlag.MergeArea.Cells.Count, ou quelque chose dans ce style, ferait l'affaire, mais impossible de trouver quoi que ce soit qui fonctionne.
J'ai contourné ça à l'aide d'une petit fonction, mais je demande si je n'ai pas loupé quelque chose, une méthode ou je ne sais quoi. Ci-dessous, la fonction commise.
VB:
Public Function NbCellFus(ByRef PlagSourc As Range) As Integer
Dim TEMP() As Boolean, i As Integer, j As Integer
Dim iPrim As Integer, jPrim As Integer
With PlagSourc
ReDim TEMP(.Rows(1).Row To .Rows(1).Row + .Rows.Count - 1, .Columns(1).Column To .Columns(1).Column + .Columns.Count - 1)
End With
For i = LBound(TEMP, 1) To UBound(TEMP, 1)
For j = LBound(TEMP, 2) To UBound(TEMP, 2)
If TEMP(i, j) = False Then
NbCellFus = NbCellFus + 1
For iPrim = i To i + Cells(i, j).MergeArea.Rows.Count - 1
For jPrim = j To j + Cells(i, j).MergeArea.Columns.Count - 1
TEMP(iPrim, jPrim) = True
Next jPrim
Next iPrim
End If
Next j
Next i
End Function
Y a-t-il une méthode plus rapide et simple qui te saute aux yeux, Ô toi, lecteur qui a eu la gentillesse de lire jusqu'ici ?
D'avance merci
dionys0s
Pièces jointes
Dernière édition: