Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

info dans collection

3 réponses
Avatar
AnB
Bonsoir
j'ai ce bout de code
mais j'ai besoin d'une variable pour savoir le numéro de la ligne dans ma
feuille de la clé dans la collection.
dans le collection dictionary la 1ére clé est postion1 et dans la feuille
cette info est en 2ème ligne

est possible de le faire en l'état de la la macro


f2.Activate
deb = "C2"
n2 = f2.[C2].CurrentRegion.Rows.Count
stck = f2.Range(deb & ":" & "C" & n2).Value
Set mondico2 = CreateObject("Scripting.Dictionary")
For j = 1 To n2 - 1
mondico2.Add stck(j, 1), j: Next

For i = 1 To n2 - 1
temp = stck(i, 1)
If mondico1.exists(temp) Then
p = mondico1.Item(temp)
Cells(p, 8) = c(p, 4) ' c est un tableau crée plus haut et redementionné
End If
Next i

merci
Anb

3 réponses

Avatar
michdenis
Bonjour AnB,

Essaie ceci :

Je trouve ta question floue !

'-----------------------------------
Sub test()

Dim Cherche As String
Dim Rg As Range, MonDico2 As Object
Dim Cell As Range, T(), A As Long, X As Long


Set MonDico2 = CreateObject("Scripting.Dictionary")

With Feuil1
Set Rg = .Range("C2:C" & .Range("C65536").End(xlUp).Row)
End With

'Trouver la ligne où apparaît pour la première
'fois la chaîne dans la plage Rg(3)
Cherche = Rg(8)

On Error Resume Next
For Each Cell In Rg
If Cell.Value <> "" Then
MonDico2.Add Cell.Value, CStr(Cell.Row)
End If
Next
A = MonDico2.Count
ReDim T(1 To A)
For X = 1 To A
T(X) = MonDico2.Item(X)
Next
X = Application.Match(Cherche, T, 0)
MsgBox X

End Sub
'-----------------------------------



"AnB" a écrit dans le message de groupe de discussion :

Bonsoir
j'ai ce bout de code
mais j'ai besoin d'une variable pour savoir le numéro de la ligne dans ma
feuille de la clé dans la collection.
dans le collection dictionary la 1ére clé est postion1 et dans la feuille
cette info est en 2ème ligne

est possible de le faire en l'état de la la macro


f2.Activate
deb = "C2"
n2 = f2.[C2].CurrentRegion.Rows.Count
stck = f2.Range(deb & ":" & "C" & n2).Value
Set mondico2 = CreateObject("Scripting.Dictionary")
For j = 1 To n2 - 1
mondico2.Add stck(j, 1), j: Next

For i = 1 To n2 - 1
temp = stck(i, 1)
If mondico1.exists(temp) Then
p = mondico1.Item(temp)
Cells(p, 8) = c(p, 4) ' c est un tableau crée plus haut et redementionné
End If
Next i

merci
Anb
Avatar
Youky
Bonjour AnB,
Je ne suis pas sur d'avoir pigé.
Dans un classeur vierge mets des données en col C

Exécute cette macro pour essai
en col 7 les noms sans doublons et en col 8 le N°ligne

Set dico = CreateObject("Scripting.Dictionary")
For Each c In Range([c2], [c2].End(4))
If Not dico.Exists(c.Value) And c.Value <> "" Then
dico.Add c.Value, c.Value
i = i + 1: Cells(i, 7) = c.Value: Cells(i, 8) = c.Row
End If
Next c

--
Youky
"AnB" a écrit dans le message de news:

Bonsoir
j'ai ce bout de code
mais j'ai besoin d'une variable pour savoir le numéro de la ligne dans ma
feuille de la clé dans la collection.
dans le collection dictionary la 1ére clé est postion1 et dans la feuille
cette info est en 2ème ligne

est possible de le faire en l'état de la la macro


f2.Activate
deb = "C2"
n2 = f2.[C2].CurrentRegion.Rows.Count
stck = f2.Range(deb & ":" & "C" & n2).Value
Set mondico2 = CreateObject("Scripting.Dictionary")
For j = 1 To n2 - 1
mondico2.Add stck(j, 1), j: Next

For i = 1 To n2 - 1
temp = stck(i, 1)
If mondico1.exists(temp) Then
p = mondico1.Item(temp)
Cells(p, 8) = c(p, 4) ' c est un tableau crée plus haut et redementionné
End If
Next i

merci
Anb



Avatar
AnB
Merci
je cherche ma ligne avec find mais je garde sous le coude vos proposition
Anb

"Youky" a écrit dans le message de news:
%
Bonjour AnB,
Je ne suis pas sur d'avoir pigé.
Dans un classeur vierge mets des données en col C

Exécute cette macro pour essai
en col 7 les noms sans doublons et en col 8 le N°ligne

Set dico = CreateObject("Scripting.Dictionary")
For Each c In Range([c2], [c2].End(4))
If Not dico.Exists(c.Value) And c.Value <> "" Then
dico.Add c.Value, c.Value
i = i + 1: Cells(i, 7) = c.Value: Cells(i, 8) = c.Row
End If
Next c

--
Youky
"AnB" a écrit dans le message de news:

Bonsoir
j'ai ce bout de code
mais j'ai besoin d'une variable pour savoir le numéro de la ligne dans ma
feuille de la clé dans la collection.
dans le collection dictionary la 1ére clé est postion1 et dans la feuille
cette info est en 2ème ligne

est possible de le faire en l'état de la la macro


f2.Activate
deb = "C2"
n2 = f2.[C2].CurrentRegion.Rows.Count
stck = f2.Range(deb & ":" & "C" & n2).Value
Set mondico2 = CreateObject("Scripting.Dictionary")
For j = 1 To n2 - 1
mondico2.Add stck(j, 1), j: Next

For i = 1 To n2 - 1
temp = stck(i, 1)
If mondico1.exists(temp) Then
p = mondico1.Item(temp)
Cells(p, 8) = c(p, 4) ' c est un tableau crée plus haut et redementionné
End If
Next i

merci
Anb