J'ai crée une collection pour laquelle je place des données (suivant un
parcours de la colonne 1 et 2)... mon problème est que je ne sais pas
comment récupérer les 2e données...
i = 1
Set ColMqt = New Collection
Do
If Cells(i, 1).Value = "" Then
ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value
End If
i = i + 1
Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then
For i = 0 To ColMqt.Count
MsgBox ColMqt(i)
Next
End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
Bonjour,
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu veux. Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de réponses sur la manière de constituer une collection en utilisant cette classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense à utiliser la fonction Items de cet objet et il me semble que tu auras réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant un parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
Merci d'avance pour votre aide
Bonjour,
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu
ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux
réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par
un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu
veux.
Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de
réponses sur la manière de constituer une collection en utilisant cette
classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense
à utiliser la fonction Items de cet objet et il me semble que tu auras
réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant un
parcours de la colonne 1 et 2)... mon problème est que je ne sais pas
comment récupérer les 2e données...
i = 1
Set ColMqt = New Collection
Do
If Cells(i, 1).Value = "" Then
ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value
End If
i = i + 1
Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then
For i = 0 To ColMqt.Count
MsgBox ColMqt(i)
Next
End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu veux. Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de réponses sur la manière de constituer une collection en utilisant cette classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense à utiliser la fonction Items de cet objet et il me semble que tu auras réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant un parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
Merci d'avance pour votre aide
JB
Bonsoir,
Utiliser Dictionnary plutôt que Collection(beaucoup + performant sur nb important d'items)
Set mondico = CreateObject("Scripting.Dictionary") For i = 2 To 10 mondico.Add Cells(i, 1), Cells(i, 2) Next i a = mondico.keys b = mondico.items For i = 0 To mondico.Count - 1 MsgBox a(i) Next i For i = 0 To mondico.Count - 1 MsgBox b(i) Next i
J'ai crée une collection pour laquelle je place des données (suivant u n parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne ...
Merci d'avance pour votre aide -- @+ HD
Bonsoir,
Utiliser Dictionnary plutôt que Collection(beaucoup + performant sur
nb important d'items)
Set mondico = CreateObject("Scripting.Dictionary")
For i = 2 To 10
mondico.Add Cells(i, 1), Cells(i, 2)
Next i
a = mondico.keys
b = mondico.items
For i = 0 To mondico.Count - 1
MsgBox a(i)
Next i
For i = 0 To mondico.Count - 1
MsgBox b(i)
Next i
J'ai crée une collection pour laquelle je place des données (suivant u n
parcours de la colonne 1 et 2)... mon problème est que je ne sais pas
comment récupérer les 2e données...
i = 1
Set ColMqt = New Collection
Do
If Cells(i, 1).Value = "" Then
ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value
End If
i = i + 1
Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then
For i = 0 To ColMqt.Count
MsgBox ColMqt(i)
Next
End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne ...
Utiliser Dictionnary plutôt que Collection(beaucoup + performant sur nb important d'items)
Set mondico = CreateObject("Scripting.Dictionary") For i = 2 To 10 mondico.Add Cells(i, 1), Cells(i, 2) Next i a = mondico.keys b = mondico.items For i = 0 To mondico.Count - 1 MsgBox a(i) Next i For i = 0 To mondico.Count - 1 MsgBox b(i) Next i
J'ai crée une collection pour laquelle je place des données (suivant u n parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne ...
Merci d'avance pour votre aide -- @+ HD
anonymousA
il faut comprendre Keys bien sur au lieu d'Items.
Bonjour,
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu veux. Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de réponses sur la manière de constituer une collection en utilisant cette classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense à utiliser la fonction Items de cet objet et il me semble que tu auras réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant un parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
Merci d'avance pour votre aide
il faut comprendre Keys bien sur au lieu d'Items.
Bonjour,
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu
ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux
réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par
un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu
veux.
Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de
réponses sur la manière de constituer une collection en utilisant cette
classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense
à utiliser la fonction Items de cet objet et il me semble que tu auras
réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant
un parcours de la colonne 1 et 2)... mon problème est que je ne sais
pas comment récupérer les 2e données...
i = 1
Set ColMqt = New Collection
Do
If Cells(i, 1).Value = "" Then
ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value
End If
i = i + 1
Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then
For i = 0 To ColMqt.Count
MsgBox ColMqt(i)
Next
End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
la 2eme donnée comme tu l'appelles n'est pas une donnée mais une clé.Tu ne peux pas y acceder pour faire ce que tu souhaites. Si tu veux réaliser ce que tu souhaites , tu peux passer p.e par Dictionnary ,par un tableau de 2 colonnes ou par un listbox ou combobox, ce sera comme tu veux. Pour Dictionnary, tapes dans Google sur ce forum et tu auras plein de réponses sur la manière de constituer une collection en utilisant cette classe d'objets. Une fois que tu auras assimilé comment ca marche ,pense à utiliser la fonction Items de cet objet et il me semble que tu auras réussi à faire ce que tu demandes.
A+
Bonjour,
J'ai crée une collection pour laquelle je place des données (suivant un parcours de la colonne 1 et 2)... mon problème est que je ne sais pas comment récupérer les 2e données...
i = 1 Set ColMqt = New Collection Do If Cells(i, 1).Value = "" Then ColMqt.Add Cells(i, 1).Value, Cells(i, 2).Value End If i = i + 1 Loop Until Cells(i, 3).Value = ""
If ColMqt.Count > 0 Then For i = 0 To ColMqt.Count MsgBox ColMqt(i) Next End If
Set ColMqt = Nothing
ColMqt(i) ne me donne donc accès qu'à la donnée de la 1ère colonne...
Merci d'avance pour votre aide
HD
Merci grandement à vous deux !!!
Je ne connaissais pas Dictionnary... Celà risque de me resservir !!!
--
@+ HD
Merci grandement à vous deux !!!
Je ne connaissais pas Dictionnary... Celà risque de me resservir !!!