Je suis toujours en train d'apprendre VBA et je n'arrive pas à comprendre pourquoi j'ai tellement de problèmes avec un objet Collections.Erreurs lors de l'ajout d'éléments à une collection VBA/VB6
J'ai une fonction qui ajoute des objets personnalisés (j'ai créé une classe très simple pour stocker des données) qui fait la sorte typique de "lire des données, créer des représentations d'objets, les coller dans Collections".
Si j'essaie d'ajouter une "clé" à l'appel bag.add, j'obtiens un message "Erreur de compilation .Attendu: =".
Si je n'ai pas l'air d'avoir travaillé alors quand j'ai lancé le programme, il est écrit "Compile Error, argument non optionnel" et met en surbrillance la ligne "getRevColumns = bag".
Je ne peux pas pour la vie de moi comprendre ce qui se passe! Je soupçonne quelque chose de mal avec la façon dont j'ai initialisé mon sac ?! PS: columnMap est le nom de ma classe personnalisée.
Function getRevColumns() As Collection
Dim rng As Range
Dim i As Integer
Dim bag As Collection
Dim opManCol As Integer, siebelCol As Integer
Dim opManColName As String, siebelColName As String
Dim itm As columnMap
Set bag = New Collection
Set rng = shSiebelMap.UsedRange.Columns(5)
i = 1
For i = 1 To rng.Rows.count
If StrComp(UCase(rng.Cells(i).value), "Y") = 0 Then
opManCol = rng.Rows(i).OffSet(0, -2).value
opManColName = rng.Rows(i).OffSet(0, -4)
siebelCol = rng.Rows(i).OffSet(0, -1).value
siebelColName = rng.Rows(i).OffSet(0, -3)
Set itm = New columnMap
itm.opManColName = opManColName
itm.opManColNumber = opManCol
itm.siebelColName = siebelColName
itm.siebelColNumber = siebelCol
'WHY DOESN'T IT WORK!''
bag.Add (itm)
'MsgBox "opMan Col: " & opManColName & " : " & opManCol & ". Siebel Col: " & siebelColName & " : " & siebelCol'
End If
Next i
getRevColumns = bag
End Function
Est-il possible que vous posiez également la classe "columnMap"? – hol