thomlau
XLDnaute Occasionnel
Bonjour a toutes et à tous.
Voilà, j'ai dans mon application, une macro qui prend pas mal de temps à s'éxécuter. Sa longueur en est surement la cause.
J'ai utilisé la recherche, mais en vain. Pas moyen de trouver une portion de code qui permettrai de réduire cette macro.
La voici...🙄 Je sais elle est barbare.
Si quelqu'un pouvait m'aider ce serait sympa. Je pourrais enfin comprendre le processus qui m'interesse.
d'avance merci.
Voilà, j'ai dans mon application, une macro qui prend pas mal de temps à s'éxécuter. Sa longueur en est surement la cause.
J'ai utilisé la recherche, mais en vain. Pas moyen de trouver une portion de code qui permettrai de réduire cette macro.
La voici...🙄 Je sais elle est barbare.
Code:
Sub Enregistre()
' Cette macro permet l'archivage du planning hebdomadaire
Dim sem As Integer
sem = Feuil1.Range("G4").Value
Application.ScreenUpdating = False
Sheets("PLANNING").Select
Range("B10:H132").Select 'Selection des cellules du planning
Application.CutCopyMode = False
'Copie de toutes les données
Selection.Copy
If Feuil1.Range("G4") = 1 Then
Sheets("archives").Select
Range("B9").Select
End If
If Feuil1.Range("G4") = 2 Then
Sheets("archives").Select
Range("B132").Select
End If
If Feuil1.Range("G4") = 3 Then
Sheets("archives").Select
Range("B255").Select
End If
If Feuil1.Range("G4") = 4 Then
Sheets("archives").Select
Range("B378").Select
End If
If Feuil1.Range("G4") = 5 Then
Sheets("archives").Select
Range("B501").Select
End If
If Feuil1.Range("G4") = 6 Then
Sheets("archives").Select
Range("B624").Select
End If
If Feuil1.Range("G4") = 7 Then
Sheets("archives").Select
Range("B747").Select
End If
If Feuil1.Range("G4") = 8 Then
Sheets("archives").Select
Range("B870").Select
End If
If Feuil1.Range("G4") = 9 Then
Sheets("archives").Select
Range("B993").Select
End If
If Feuil1.Range("G4") = 10 Then
Sheets("archives").Select
Range("B1116").Select
End If
If Feuil1.Range("G4") = 11 Then
Sheets("archives").Select
Range("B1239").Select
End If
If Feuil1.Range("G4") = 12 Then
Sheets("archives").Select
Range("B1362").Select
End If
If Feuil1.Range("G4") = 13 Then
Sheets("archives").Select
Range("B1485").Select
End If
If Feuil1.Range("G4") = 14 Then
Sheets("archives").Select
Range("B1608").Select
End If
If Feuil1.Range("G4") = 15 Then
Sheets("archives").Select
Range("B1731").Select
End If
If Feuil1.Range("G4") = 16 Then
Sheets("archives").Select
Range("B1854").Select
End If
If Feuil1.Range("G4") = 17 Then
Sheets("archives").Select
Range("B1977").Select
End If
If Feuil1.Range("G4") = 18 Then
Sheets("archives").Select
Range("B2100").Select
End If
If Feuil1.Range("G4") = 19 Then
Sheets("archives").Select
Range("B2223").Select
End If
If Feuil1.Range("G4") = 20 Then
Sheets("archives").Select
Range("B2346").Select
End If
If Feuil1.Range("G4") = 21 Then
Sheets("archives").Select
Range("B2469").Select
End If
If Feuil1.Range("G4") = 22 Then
Sheets("archives").Select
Range("B2592").Select
End If
If Feuil1.Range("G4") = 23 Then
Sheets("archives").Select
Range("B2715").Select
End If
If Feuil1.Range("G4") = 24 Then
Sheets("archives").Select
Range("B2838").Select
End If
If Feuil1.Range("G4") = 25 Then
Sheets("archives").Select
Range("B2961").Select
End If
If Feuil1.Range("G4") = 26 Then
Sheets("archives").Select
Range("B3084").Select
End If
If Feuil1.Range("G4") = 27 Then
Sheets("archives").Select
Range("B3207").Select
End If
If Feuil1.Range("G4") = 28 Then
Sheets("archives").Select
Range("B3330").Select
End If
If Feuil1.Range("G4") = 29 Then
Sheets("archives").Select
Range("B3453").Select
End If
If Feuil1.Range("G4") = 30 Then
Sheets("archives").Select
Range("B3576").Select
End If
If Feuil1.Range("G4") = 31 Then
Sheets("archives").Select
Range("B3699").Select
End If
If Feuil1.Range("G4") = 32 Then
Sheets("archives").Select
Range("B3822").Select
End If
If Feuil1.Range("G4") = 33 Then
Sheets("archives").Select
Range("B3945").Select
End If
If Feuil1.Range("G4") = 34 Then
Sheets("archives").Select
Range("B4068").Select
End If
If Feuil1.Range("G4") = 35 Then
Sheets("archives").Select
Range("B4191").Select
End If
If Feuil1.Range("G4") = 36 Then
Sheets("archives").Select
Range("B4314").Select
End If
If Feuil1.Range("G4") = 37 Then
Sheets("archives").Select
Range("B4437").Select
End If
If Feuil1.Range("G4") = 38 Then
Sheets("archives").Select
Range("B4560").Select
End If
If Feuil1.Range("G4") = 39 Then
Sheets("archives").Select
Range("B4683").Select
End If
If Feuil1.Range("G4") = 40 Then
Sheets("archives").Select
Range("B4806").Select
End If
If Feuil1.Range("G4") = 41 Then
Sheets("archives").Select
Range("B4929").Select
End If
If Feuil1.Range("G4") = 42 Then
Sheets("archives").Select
Range("B5052").Select
End If
If Feuil1.Range("G4") = 43 Then
Sheets("archives").Select
Range("B5175").Select
End If
If Feuil1.Range("G4") = 44 Then
Sheets("archives").Select
Range("B5298").Select
End If
If Feuil1.Range("G4") = 45 Then
Sheets("archives").Select
Range("B5421").Select
End If
If Feuil1.Range("G4") = 46 Then
Sheets("archives").Select
Range("B5544").Select
End If
If Feuil1.Range("G4") = 47 Then
Sheets("archives").Select
Range("B5667").Select
End If
If Feuil1.Range("G4") = 48 Then
Sheets("archives").Select
Range("B5790").Select
End If
If Feuil1.Range("G4") = 49 Then
Sheets("archives").Select
Range("B5913").Select
End If
If Feuil1.Range("G4") = 50 Then
Sheets("archives").Select
Range("B6036").Select
End If
If Feuil1.Range("G4") = 51 Then
Sheets("archives").Select
Range("B6159").Select
End If
If Feuil1.Range("G4") = 52 Then
Sheets("archives").Select
Range("B6282").Select
End If
If Feuil1.Range("G4") = 53 Then
Sheets("archives").Select
Range("B6405").Select
End If
'Copie du planning à l'endroit qui s'y rapporte
Sheets("archives").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("PLANNING").Select
Range("A1").Select 'Retour vers le planning
Application.ScreenUpdating = True
MsgBox "Le planning de la semaine " & sem & " a bien été archivé."
End Sub
Si quelqu'un pouvait m'aider ce serait sympa. Je pourrais enfin comprendre le processus qui m'interesse.
d'avance merci.