Bonjour,
J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce
qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ?
J'ai supprimer 6 rangées.
Merci de votre aide.
Code Original :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:AB14")
For I = 1 To 12 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes P, Q et R
For I = 16 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
Voici les lignes que j'ai modifiées.
Ligne 4 ==> Set Plage = Range("D14:V14")
Ligne 5 ==> For I = 1 To 8 Step 2
Ligne 8==> 'saute les colonnes L, M et N (pour indication)
Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:V14")
For I = 1 To 8 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes L, M et N
For I = 12 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
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
Hervé
Bonsoir Guy,
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" a écrit dans le message de news:
Bonjour, J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ? J'ai supprimer 6 rangées. Merci de votre aide.
Code Original : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Voici les lignes que j'ai modifiées. Ligne 4 ==> Set Plage = Range("D14:V14") Ligne 5 ==> For I = 1 To 8 Step 2 Ligne 8==> 'saute les colonnes L, M et N (pour indication) Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Cordialement Guy
Bonsoir Guy,
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount
pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Dim Debut As Long
Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14")
For I = 1 To 12 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes P, Q et R
For I = 16 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2()
Dim Plage As Range
Dim I As Integer
Dim Debut As Long
Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14")
For I = 1 To 8 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes L, M et N
For I = 12 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" <Guy_Excel_2003@bonjour.fr> a écrit dans le message de
news:ebESYJruKHA.2436@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce
qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ?
J'ai supprimer 6 rangées.
Merci de votre aide.
Code Original :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:AB14")
For I = 1 To 12 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes P, Q et R
For I = 16 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
Voici les lignes que j'ai modifiées.
Ligne 4 ==> Set Plage = Range("D14:V14")
Ligne 5 ==> For I = 1 To 8 Step 2
Ligne 8==> 'saute les colonnes L, M et N (pour indication)
Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:V14")
For I = 1 To 8 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes L, M et N
For I = 12 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" a écrit dans le message de news:
Bonjour, J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ? J'ai supprimer 6 rangées. Merci de votre aide.
Code Original : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Voici les lignes que j'ai modifiées. Ligne 4 ==> Set Plage = Range("D14:V14") Ligne 5 ==> For I = 1 To 8 Step 2 Ligne 8==> 'saute les colonnes L, M et N (pour indication) Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Cordialement Guy
Guy85
Bonjour Hervé, Ok je vais contrôler. Merci de ton aide Cordialement Guy
"Hervé" a écrit dans le message de news:
Bonsoir Guy,
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" a écrit dans le message de news:
Bonjour, J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ? J'ai supprimer 6 rangées. Merci de votre aide.
Code Original : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Voici les lignes que j'ai modifiées. Ligne 4 ==> Set Plage = Range("D14:V14") Ligne 5 ==> For I = 1 To 8 Step 2 Ligne 8==> 'saute les colonnes L, M et N (pour indication) Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Cordialement Guy
Bonjour Hervé,
Ok je vais contrôler.
Merci de ton aide
Cordialement
Guy
"Hervé" <silve-herve@orange.fr> a écrit dans le message de news:
A59835C1-FF5C-4352-9292-420F1C551511@microsoft.com...
Bonsoir Guy,
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount
pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Dim Debut As Long
Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14")
For I = 1 To 12 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes P, Q et R
For I = 16 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2()
Dim Plage As Range
Dim I As Integer
Dim Debut As Long
Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14")
For I = 1 To 8 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes L, M et N
For I = 12 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" <Guy_Excel_2003@bonjour.fr> a écrit dans le message de
news:ebESYJruKHA.2436@TK2MSFTNGP04.phx.gbl...
Bonjour,
J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce
qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ?
J'ai supprimer 6 rangées.
Merci de votre aide.
Code Original :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:AB14")
For I = 1 To 12 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes P, Q et R
For I = 16 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
Voici les lignes que j'ai modifiées.
Ligne 4 ==> Set Plage = Range("D14:V14")
Ligne 5 ==> For I = 1 To 8 Step 2
Ligne 8==> 'saute les colonnes L, M et N (pour indication)
Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier :
Sub Tri_Janvier()
Dim Plage As Range
Dim I As Integer
Set Plage = Range("D14:V14")
For I = 1 To 8 Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
'saute les colonnes L, M et N
For I = 12 To Plage.Count Step 2
Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2
Next I
End Sub
Bonjour Hervé, Ok je vais contrôler. Merci de ton aide Cordialement Guy
"Hervé" a écrit dans le message de news:
Bonsoir Guy,
A priori c'est bon, teste la durée entre ces deux proc (API GetTickCount pour la mesure de temps en millisecondes) :
Private Declare Function GetTickCount Lib "Kernel32" () As Long
Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox (GetTickCount() - Debut)
End Sub
Sub Tri_Janvier_2() Dim Plage As Range Dim I As Integer Dim Debut As Long Dim J As Long
Debut = GetTickCount()
Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I
MsgBox GetTickCount() - Debut
End Sub
Hervé.
"Guy85" a écrit dans le message de news:
Bonjour, J'ai modifier un code, je souhaiterais savoir, si j'ai bien modifier ce qu'il fallait, ça a l'air de fonctionner, mais beaucoup plus lent ? J'ai supprimer 6 rangées. Merci de votre aide.
Code Original : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:AB14") For I = 1 To 12 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes P, Q et R For I = 16 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub
Voici les lignes que j'ai modifiées. Ligne 4 ==> Set Plage = Range("D14:V14") Ligne 5 ==> For I = 1 To 8 Step 2 Ligne 8==> 'saute les colonnes L, M et N (pour indication) Ligne 9 ==>For I = 12 To Plage.Count Step 2
Code modifier : Sub Tri_Janvier() Dim Plage As Range Dim I As Integer Set Plage = Range("D14:V14") For I = 1 To 8 Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I 'saute les colonnes L, M et N For I = 12 To Plage.Count Step 2 Plage(I).Resize(7, 2).Sort Plage(I).Offset(0, 1), 2 Next I End Sub