Bonjour à tous,
Je dois faire le total de 53 feuilles dans une 54 ème sur certaines colonnes.
J'ai donc écris ce code qui marche très bien mais qui reste lent :
Merci par avance pour vos pistes d'améliorations
Bien cordialement Scoubi
Je dois faire le total de 53 feuilles dans une 54 ème sur certaines colonnes.
J'ai donc écris ce code qui marche très bien mais qui reste lent :
VB:
Sub test()
Dim fg
Dim NN
Dim l
Dim P As Variant
Dim ll
Dim vv
vv = ""
Application.ScreenUpdating = False
NN = Sheets(1).Range("C65536").End(xlUp).Row 'recherche de la dernière ligne vide sur la feuille
For fg = 1 To 53 Step 1
With Sheets(fg)
If fg = 1 Then ' Si on commence par la feuille 1 on vide la feuille Total
' à écrire
Else
End If
For ij = 4 To NN Step 1 ' Boucle pour ce déplacer dans les lignes
If IsNumeric(Val(CStr(Sheets(fg).Range("C" & ij).Value))) = True _
And Sheets(fg).Range("C" & ij).Value <> "" Then
k = Sheets(fg).Range("C" & ij).Value
For Each P In Array(6, 7, 9, 11, 13, 15, 16, 18, 20, 21, 22) ' Boucle pour ce déplacer dans les colonnes
vv = Sheets(fg).Range("A" & ij).Offset(0, P).Value
Sheets(54).Range("A" & ij).Offset(0, P).Value = Sheets(54).Range("A" & ij).Offset(0, P).Value + vv
ko = Sheets(54).Range("A" & ij).Offset(0, P).Value
vv = ""
Next P
Else ' si la valeur de la Cellule n'est pas une valeur numérique alors je ne fait rien
End If
Next ij ' je passe à la ligne suivante
End With ' je ferme mon avec la feuille encours
Next fg ' je passe à la feuille suivante
MsgBox " Fin de la boucle"
Application.ScreenUpdating = True
End Sub
Bien cordialement Scoubi