Je dois appeller la fonction ListeValUniques dans une boucle
soir 3 colonnes sur 1000 lignes environ
Elle prendre les valeurs uniques et les transpose en ligne
Je cherche a faire une boucle qui appelle la fonction pour les x lignes=20
d'avant
X doit =EAtre un param=EAtre modifiable.
y nombre colonnes doit =EAtre modifiable
merci
'Pour plus de colonnes
'Changer la plage
'Changer la valeur de PlageSrc.Columns.Count > 1
'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N =3D 1 To 100
For col =3D 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range)
'Extrait les valeurs uniques d'une colonne et les renvoie
'dans une autre, =E0 partir de CellDest
Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub
Arr1 =3D PlageSrc.Value
For Each Elt In Arr1
On Error Resume Next
Coll.Add Elt, CStr(Elt)
If Err.Number =3D 0 Then
ReDim Preserve Arr2(1 To Coll.Count)
Arr2(Coll.Count) =3D Elt
End If
On Error GoTo 0
Next
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
N = [A65586].End(xlUp).Row
For N = 1 To [A65586].End(xlUp).Row
C = [IV1].End(xlToLeft).Column
For col = 1 To 3
Range(Range("A" & N), Cells(N + 10, C)).Select
ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement.
Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle
soir 3 colonnes sur 1000 lignes environ
Elle prendre les valeurs uniques et les transpose en ligne
Je cherche a faire une boucle qui appelle la fonction pour les x lignes
d'avant
X doit être un paramêtre modifiable.
y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes
'Changer la plage
'Changer la valeur de PlageSrc.Columns.Count > 1
'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100
For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range)
'Extrait les valeurs uniques d'une colonne et les renvoie
'dans une autre, à partir de CellDest
Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub
Arr1 = PlageSrc.Value
For Each Elt In Arr1
On Error Resume Next
Coll.Add Elt, CStr(Elt)
If Err.Number = 0 Then
ReDim Preserve Arr2(1 To Coll.Count)
Arr2(Coll.Count) = Elt
End If
On Error GoTo 0
Next
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas
modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown))
>> .Select
>> .Copy
>> End With
>>
>> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour.
Essaie :
Sub test()
N = [A65586].End(xlUp).Row
For N = 1 To [A65586].End(xlUp).Row
C = [IV1].End(xlToLeft).Column
For col = 1 To 3
Range(Range("A" & N), Cells(N + 10, C)).Select
ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement.
Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle
soir 3 colonnes sur 1000 lignes environ
Elle prendre les valeurs uniques et les transpose en ligne
Je cherche a faire une boucle qui appelle la fonction pour les x
lignes d'avant
X doit être un paramêtre modifiable.
y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes
'Changer la plage
'Changer la valeur de PlageSrc.Columns.Count > 1
'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100
For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range)
'Extrait les valeurs uniques d'une colonne et les renvoie
'dans une autre, à partir de CellDest
Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub
Arr1 = PlageSrc.Value
For Each Elt In Arr1
On Error Resume Next
Coll.Add Elt, CStr(Elt)
If Err.Number = 0 Then
ReDim Preserve Arr2(1 To Coll.Count)
Arr2(Coll.Count) = Elt
End If
On Error GoTo 0
Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas
modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown))
>> .Select
>> .Copy
>> End With
>>
>> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour.
Essaie :
Sub test()
N = [A65586].End(xlUp).Row
For N = 1 To [A65586].End(xlUp).Row
C = [IV1].End(xlToLeft).Column
For col = 1 To 3
Range(Range("A" & N), Cells(N + 10, C)).Select
ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement.
Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle
soir 3 colonnes sur 1000 lignes environ
Elle prendre les valeurs uniques et les transpose en ligne
Je cherche a faire une boucle qui appelle la fonction pour les x
lignes d'avant
X doit être un paramêtre modifiable.
y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes
'Changer la plage
'Changer la valeur de PlageSrc.Columns.Count > 1
'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100
For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range)
'Extrait les valeurs uniques d'une colonne et les renvoie
'dans une autre, à partir de CellDest
Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub
Arr1 = PlageSrc.Value
For Each Elt In Arr1
On Error Resume Next
Coll.Add Elt, CStr(Elt)
If Err.Number = 0 Then
ReDim Preserve Arr2(1 To Coll.Count)
Arr2(Coll.Count) = Elt
End If
On Error GoTo 0
Next
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
Arrivé en fin toutes les lignes doivent les chiffres non dupliqués de s trois lignes précédentes.
il faut mettre en relatif la procédure, de façon a faire la boucle
Le 22/01/2010 14:13, Daniel.C a écrit :
Comment déterminer la colonne ? Daniel
merci
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
supposons la zone a balayer a2:a100
par exemple
de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f
puis la macro continue
de la ligne 3 à 5 >>> résultat colonne f line 5
Arrivé en fin toutes les lignes doivent les chiffres non dupliqués de s
trois lignes précédentes.
il faut mettre en relatif la procédure, de façon a faire la boucle
Le 22/01/2010 14:13, Daniel.C a écrit :
Comment déterminer la colonne ?
Daniel
merci
Mais cette partie qui permet de tranposer la ligne en colonne n'est
pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown))
>> .Select
>> .Copy
>> End With
>>
>> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour.
Essaie :
Sub test()
N = [A65586].End(xlUp).Row
For N = 1 To [A65586].End(xlUp).Row
C = [IV1].End(xlToLeft).Column
For col = 1 To 3
Range(Range("A" & N), Cells(N + 10, C)).Select
ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement.
Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle
soir 3 colonnes sur 1000 lignes environ
Elle prendre les valeurs uniques et les transpose en ligne
Je cherche a faire une boucle qui appelle la fonction pour les x
lignes d'avant
X doit être un paramêtre modifiable.
y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes
'Changer la plage
'Changer la valeur de PlageSrc.Columns.Count > 1
'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100
For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next
Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range)
'Extrait les valeurs uniques d'une colonne et les renvoie
'dans une autre, à partir de CellDest
Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub
Arr1 = PlageSrc.Value
For Each Elt In Arr1
On Error Resume Next
Coll.Add Elt, CStr(Elt)
If Err.Number = 0 Then
ReDim Preserve Arr2(1 To Coll.Count)
Arr2(Coll.Count) = Elt
End If
On Error GoTo 0
Next
supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
Arrivé en fin toutes les lignes doivent les chiffres non dupliqués de s trois lignes précédentes.
il faut mettre en relatif la procédure, de façon a faire la boucle
Le 22/01/2010 14:13, Daniel.C a écrit :
Comment déterminer la colonne ? Daniel
merci
Mais cette partie qui permet de tranposer la ligne en colonne n'est pas modifiée donc cela ne peur fonctionner:
>> With Range("E1", Range("e1").End(xlDown)) >> .Select >> .Copy >> End With >> >> [f1].Select
Le 22/01/2010 12:16, Daniel.C a écrit :
Bonjour. Essaie :
Sub test()
N = [A65586].End(xlUp).Row For N = 1 To [A65586].End(xlUp).Row C = [IV1].End(xlToLeft).Column For col = 1 To 3 Range(Range("A" & N), Cells(N + 10, C)).Select ListeValUniques Range(Range("A" & N), Cells(N + 10, C)), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Cordialement. Daniel
Bonjour
Je dois appeller la fonction ListeValUniques dans une boucle soir 3 colonnes sur 1000 lignes environ Elle prendre les valeurs uniques et les transpose en ligne Je cherche a faire une boucle qui appelle la fonction pour les x lignes d'avant X doit être un paramêtre modifiable. y nombre colonnes doit être modifiable
merci
'Pour plus de colonnes 'Changer la plage 'Changer la valeur de PlageSrc.Columns.Count > 1 'qui doit correspondre au nombre de colonne de la plage
Sub test()
For N = 1 To 100 For col = 1 To 3
ListeValUniques Range("A" & N & ":c" & N + 10), Range("E" & N)
Next Next
'ListeValUniques Range("A1:c11"), Range("E1") >> original
End Sub
Sub ListeValUniques(PlageSrc As Range, CellDest As Range) 'Extrait les valeurs uniques d'une colonne et les renvoie 'dans une autre, à partir de CellDest Dim Arr1, Elt, Arr2(), Coll As New Collection
If PlageSrc.Columns.Count > 3 Then Exit Sub Arr1 = PlageSrc.Value
For Each Elt In Arr1 On Error Resume Next Coll.Add Elt, CStr(Elt) If Err.Number = 0 Then ReDim Preserve Arr2(1 To Coll.Count) Arr2(Coll.Count) = Elt End If On Error GoTo 0 Next
> supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes un classeur exemple réduit avec le résultat escompté sur www.cjoint.com et que tu postes ici l'adresse générée. Daniel
> supposons la zone a balayer a2:a100
par exemple
de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f
puis la macro continue
de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes
un classeur exemple réduit avec le résultat escompté sur www.cjoint.com
et que tu postes ici l'adresse générée.
Daniel
> supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes un classeur exemple réduit avec le résultat escompté sur www.cjoint.com et que tu postes ici l'adresse générée. Daniel
PST
Bonjour
Au départ, je voulais utiliser la macro avec appel de fonction cité d ans ce post mais ne reussissant pas à le faire, j'ai fait autrement pour le même résulitat (les référence aux colonnes et lignes ne sont pas les mêmes mais le principe est le même) Dans la macro ci dessous qui fonctionne comme je le veux.
Colonnes f à g données Colonnes L a q resultat transpose 2 X 3 cellules (2 lignes de 3 colonnes) Deca me sert à controler le nombre de lignes à vérifier (X derniè res lignes) A chaque fois la macro tient compte des deux lignes d'avant et affiche le resultat sur la ligne en cours mais en décalé.
Mettre quelque chiffres dans colonne f à g, lancer la macro ci dessous, et vous verrez ce que je voulais.
Comme j'ai trouvé une solution alternative, laissez tomber, a premièr e vue c'est plus embetant que prevu.
merci
Sub v2_3() Application.ScreenUpdating = False
' Création de la ligne de titre For Lig_1 = 1 To 100
supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes un classeur exemple réduit avec le résultat escompté sur www.cjoi nt.com et que tu postes ici l'adresse générée. Daniel
Bonjour
Au départ, je voulais utiliser la macro avec appel de fonction cité d ans
ce post mais ne reussissant pas à le faire, j'ai fait autrement pour le
même résulitat (les référence aux colonnes et lignes ne sont pas les
mêmes mais le principe est le même)
Dans la macro ci dessous qui fonctionne comme je le veux.
Colonnes f à g données
Colonnes L a q resultat transpose 2 X 3 cellules (2 lignes de 3 colonnes)
Deca me sert à controler le nombre de lignes à vérifier (X derniè res lignes)
A chaque fois la macro tient compte des deux lignes d'avant et affiche
le resultat sur la ligne en cours mais en décalé.
Mettre quelque chiffres dans colonne f à g, lancer la macro ci dessous,
et vous verrez ce que je voulais.
Comme j'ai trouvé une solution alternative, laissez tomber, a premièr e
vue c'est plus embetant que prevu.
merci
Sub v2_3()
Application.ScreenUpdating = False
' Création de la ligne de titre
For Lig_1 = 1 To 100
supposons la zone a balayer a2:a100
par exemple
de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f
puis la macro continue
de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes
un classeur exemple réduit avec le résultat escompté sur www.cjoi nt.com
et que tu postes ici l'adresse générée.
Daniel
Au départ, je voulais utiliser la macro avec appel de fonction cité d ans ce post mais ne reussissant pas à le faire, j'ai fait autrement pour le même résulitat (les référence aux colonnes et lignes ne sont pas les mêmes mais le principe est le même) Dans la macro ci dessous qui fonctionne comme je le veux.
Colonnes f à g données Colonnes L a q resultat transpose 2 X 3 cellules (2 lignes de 3 colonnes) Deca me sert à controler le nombre de lignes à vérifier (X derniè res lignes) A chaque fois la macro tient compte des deux lignes d'avant et affiche le resultat sur la ligne en cours mais en décalé.
Mettre quelque chiffres dans colonne f à g, lancer la macro ci dessous, et vous verrez ce que je voulais.
Comme j'ai trouvé une solution alternative, laissez tomber, a premièr e vue c'est plus embetant que prevu.
merci
Sub v2_3() Application.ScreenUpdating = False
' Création de la ligne de titre For Lig_1 = 1 To 100
supposons la zone a balayer a2:a100 par exemple de la ligne 2 à la ligne 4 resultat en face de la ligne 4 colonne f puis la macro continue de la ligne 3 à 5 >>> résultat colonne f line 5
C'est ce que tu fais avec la variable N ? Le mieux serait que tu mettes un classeur exemple réduit avec le résultat escompté sur www.cjoi nt.com et que tu postes ici l'adresse générée. Daniel