Macro un peu plus lente

Résolu
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   -  
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai crée une Macro (Sub Ajout_Info) pour copier des information des cellules de la feuille Saisie-LSP pour les coller dans la Feuille L PS.
Mon problème c'est que je la trouve un peu lente
Je demande votre aide pour que cette Macro soit la plus simple et la plus rapide possible

Merci d'avance

--------------------------------------------------------------------------------------------------------------------
Sub Ajout_Info_LSP()
'
' Ajout_Info_LSP Macro
'

'
Sheets("L S P").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Saisie-LSP").Select
Selection.Copy
Sheets("L S P").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("C2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("D2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C14").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("F2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C16").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("I2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("J2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("K2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("L2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("C28").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("M2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.SmallScroll ToRight:=6
Sheets("Saisie-LSP").Select
Range("F4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("N2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("O2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F8").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("P2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F10").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("Q2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F12").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("R2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F14").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("S2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F16").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("T2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F18").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("U2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("V2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F22").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("W2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F24").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("X2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F26").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("Y2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Saisie-LSP").Select
Range("F28").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("L S P").Select
Range("Z2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:Z").Select
Range("Z1").Activate
Columns("A:Z").EntireColumn.AutoFit
Range("A1").Select
Sheets("Saisie-LSP").Select
Range("C4").Select
Application.CutCopyMode = False
End Sub

A voir également:

3 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

dans
Sheets("L S P").Select 
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("Saisie-LSP").Select
Selection.Copy


quelles sont les adresses des cellules à copier ? est ce C4 ?

déjà commence ta macro par

Application.screenupdating=false
qui fige le défilement de l'écran: rapidité et confort pour les yeux...

 Michel
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
en supposant qu'il s'agisse bien de C4
macro un peu plus rapide et plus condensée

Sub Ajout_Info_LSP()
Dim Tablo_c, Tablo_f, Tablo_out, cptr As Byte, Cpt_out As Byte

'---------initialisations
Application.ScreenUpdating = False
'mise en mémoire Ram daes éléments en "saisie lsp"
With Sheets("Saisie-LSP")
Tablo_c = Application.Transpose(.Range("C4:C28"))
Tablo_f = Application.Transpose(.Range("F4:F28"))
'tableau de sortie
ReDim Tablo_out(1 To 26)
End With

'-------transfert des données
For cptr = 1 To 26 Step 2
Cpt_out = Cpt_out + 1
Tablo_out(Cpt_out) = Tablo_c(cptr)
Tablo_out(Cpt_out + 13) = Tablo_f(cptr)
Next

'------ restitution dans la feuille lsp
With Sheets("L S P")
.Range("A2").Resize(1, 26) = Tablo_out
.Columns("A:Z").EntireColumn.AutoFit
.Activate
End With
End Sub


0
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour michel_m,

C’était vraiment très gentille de votre part
Votre Macro fonctionne à merveille
Elle est vraiment plus rapide que je ne l'ai pensé

Merci Infiniment
0
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir michel_m,

Est ce que vous pouvez m'aider à changer la Macro
de façon que la feuille ("L S P") soit toujours caché

Merci
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour
il suffit d'enlever "activate" à la fin du code

With Sheets("L S P")
.Range("A2").Resize(1, 26) = Tablo_out
.Columns("A:Z").EntireColumn.AutoFit
.ActivateSUPPRIMER CETTE LIGNE
End With
0
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour michei_m,

j'ai suivi votre conseille il marche parfaitement bien

Merci beaucoup
0
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour michei_m,

http://www.cjoint.com/c/FIecJ1HimQQ

Je vous envoie le ficher (cjoint) que j'utilise pour enregistrer des (Inf) de la Feuille (Saisie-LSP) à la Feuille (L S P)

Quand (L S P) est visible, je n'ai aucun problème avec l'enregistrement

Mais puisque je voudrais CACHER la Feuille (L S P) il y a un un problème même si je supprime (.Activate)

Sachant que j'ai ajouter les lignes 1 - 2 - 3 à la Macro, que vous m'avez envoyer, et cela pour sélectionner la première ligne de la Feuille (L S P) à chaque fois que je clique sur enregistrer

Merci de me consacrer un peu de votre temps pour remédier à ce problème

Cordialement
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour le fil, bonjour le forum,

Je me permet d'intervenir dans ce fil, bien que Michel ait déjà tout dit/fait !...

je conseille toujours d'éviter les Select dans un code car il ne font que ralentir l'exécution de celui-ci. Il n'est nullement besoin de Sélectionner quoi que ce soit pour faire une Copier/Coller il suffit juste de spécifier l'origine et la destination
- Copie avec formats :
Sheets("Feuil1").Range("A1").Copy Sheet("Feuil2").Range("B1")

Copie la cellule A1 de l'onglet Feuil1 dans la cellule B1 de l'onglet Feuil2, avec les formats.

- Copie sans formats
Sheets("Feuil2").Range("B1").Value = Sheet("Feuil1").Range("A1").Value

Récupère dans B1 de l'onglet Feuil2 la valeur de la cellule A1 de l'onglet Feuil1 sans les formats.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,

????
j'ai mis un ou des select ?
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160 > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour le fil, bonjour le forum,

Mais cette remarque ne s'adressait pas à toi, bien sûr !... Regarde le premier code d'Achgel...
0
achgel Messages postés 108 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour ThauTheme

Devant des experts je ne peut pas me permettre d'intervenir dans les détailles des fonctions et propriétés des Macros.

Merci pour l'enrichissement du débat
0