Vba dictionary disparait en changeant de feuille

grodep

XLDnaute Occasionnel
Bonsoir à tous, un mystère de plus pour moi dans le vba:
Quand j'écris ceci
Code:
Dim Dico As Object, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
 With Worksheets("Sept-2014")
For Each c In Range("C12", [C65000].End(xlUp))
Dico(c.Value) = ""
Next c
'End With
'With Worksheets("Recap")
[L2].Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
End With
tout fonctionne, et ma colonne L se remplit avec les valeurs sans doublons

Mais si jamais je glisse un end with puis un autre with pour transposer ma liste sur une nouvelle feuille, ça ne fonctionne plus! le code suivant est identique au précédent, excepté les deux lignes de commentaires qui ne sont plus en commentaires.


Code:
Dim Dico As Object, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
 With Worksheets("Sept-2014")
For Each c In Range("C12", [C65000].End(xlUp))
Dico(c.Value) = ""
Next c
End With
With Worksheets("Recap")
[L2].Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
End With

J'en perds mon latin!
Merci d'avance aux aficionados du code :)
 

ROGER2327

XLDnaute Barbatruc
Re : Vba dictionary disparait en changeant de feuille

Bonsoir grodep.



Code:
Dim Dico As Object, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
 With Worksheets("Sept-2014")
For Each c In .Range("C12", .[C65000].End(xlUp))
Dico(c.Value) = ""
Next c
End With
With Worksheets("Recap")
.[L2].Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
End With
peut-être ?​


Bonne soirée.


ℝOGER2327
#7578


Lundi 16 Absolu 142 (Saint Ibicrate le Géomètre, pataphysicien - fête Suprême Quarte)
2 Vendémiaire An CCXXIII, 7,2735h - safran
2014-W39-2T17:27:23Z
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Vba dictionary disparait en changeant de feuille

Bonjour à tous

Et pourquoi ne pas l'écrire ainsi:

Code:
Sub D()
Dim Dico As Object, c As Range
Set Dico = CreateObject("Scripting.Dictionary")
 For Each c In Worksheets("Sept-2014").Range("C12", [C65000].End(xlUp))
     Dico(c.Value) = ""
 Next c
Worksheets("Recap").[L2].Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)
End Sub
 

ROGER2327

XLDnaute Barbatruc
Re : Vba dictionary disparait en changeant de feuille

Re...


Bonjour à tous,

Ne faudrait-il pas préfixer aussi [C65000] par un point si jamais on démarre la macro d'un autre feuille que "Sept-2014" ?
Bien sûr ! Où donc avais-je la tête ?

Je corrige !

Bonne soirée.


ℝOGER2327
#7579


Lundi 16 Absolu 142 (Saint Ibicrate le Géomètre, pataphysicien - fête Suprême Quarte)
2 Vendémiaire An CCXXIII, 7,6502h - safran
2014-W39-2T18:21:38Z
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise