Bonjour les gars,
Je veux ecrire une petite routine qui parcourt la collection Names de mon classeur actif et affiche ensuite leur nom.
Le probleme est que quand je declare la variable MesNoms comme Names tout se passe bien. Mais si je la declare comme Collection ma routine beugue. Names est pourtant une collection !!!

Aidez moi svp a comprendre ce qui ne marche.

Thanks in advance.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub CollectionNames()
 
'quelqu 'un peut_il m'expliquer pourquoi quand je declare MesNoms comme une Collection, ma procedure ne marche pas?
 
    Dim MesNoms  As Names 'tout marche bien avec Names
 
    'Dim MesNoms  As Collection  'as Collection ca ne marche plus.
'bien evidemment je n'utilise pas les 2 declarations a la fois.
    Dim i As Name
    Dim k As Integer
 
    Set MesNoms = Application.ActiveWorkbook.Names
    Debug.Print TypeName(MesNoms)
    Dim Num As Integer
    Num = MesNoms.Count
    Debug.Print Num
 
    For k = 1 To Num
       Debug.Print MesNoms(k).Name
    Next k
End Sub