Bonjour,
Je m'interroge sur la façon d'obtenir le nombre de colonnes d'une selection !
Ca parait simple lorsque les cellules sont connexes mais dans le cas contraire le résultat est quelque peu étonnant!
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Sub nbcolonnes() Dim MaSelection As Range Dim MaSelection2 As Range Set MaSelection = Union(Range("g9"), Range("i6"), Range("i13"), Range("k14"), Range("l7")) MaSelection.Interior.Color = 10498160 MsgBox "Columns.count =" & MaSelection.Columns.Count _ & vbCr & "Areas count = " & MaSelection.Areas.Count, , "Maselection : " & MaSelection.Address Debug.Print "Columns.count =" & MaSelection.Columns.Count _ & " Areas count = " & MaSelection.Areas.Count & " Maselection : " & MaSelection.Address Set MaSelection2 = Range("$B$9:$C$10") MsgBox "Columns.count =" & MaSelection2.Columns.Count _ & vbCr & "Areas count = " & MaSelection2.Areas.Count, , "Maselection2 : " & MaSelection2.Address Debug.Print "Columns.count =" & MaSelection2.Columns.Count _ & " Areas count = " & MaSelection2.Areas.Count & " Maselection 2: " & MaSelection2.Address Set MaSelection2 = Union(Range("B9"), Range("C10")) MsgBox "Columns.count =" & MaSelection2.Columns.Count _ & vbCr & "Areas count = " & MaSelection2.Areas.Count, , "Maselection2 : " & MaSelection2.Address Debug.Print "Columns.count =" & MaSelection2.Columns.Count _ & " Areas count = " & MaSelection2.Areas.Count & " Maselection 2: " & MaSelection2.Address End Sub
donne
Columns.count =1 Areas count = 5 Maselection : $G$9,$I$6,$I$13,$K$14,$L$7 alors que j'ai 4 colonnes distinctes
Columns.count =2 Areas count = 1 Maselection 2: $B$9:$C$10
Columns.count =1 Areas count = 2 Maselection 2: $B$9,$C$10
Quelqu'un a-t-il une méthode "globale" ?