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
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
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
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" <nospamanb@noos.fr> a écrit dans le message de groupe de discussion :
ehRgoroSKHA.1280@TK2MSFTNGP04.phx.gbl...
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
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
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
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" <nospamanb@noos.fr> a écrit dans le message de news:
ehRgoroSKHA.1280@TK2MSFTNGP04.phx.gbl...
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
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
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
Merci
je cherche ma ligne avec find mais je garde sous le coude vos proposition
Anb
"Youky" <nospam.bruno.jeune@wanadoo.fr> a écrit dans le message de news:
%23xrqhUqSKHA.3540@TK2MSFTNGP04.phx.gbl...
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" <nospamanb@noos.fr> a écrit dans le message de news:
ehRgoroSKHA.1280@TK2MSFTNGP04.phx.gbl...
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 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