Bonjour,
J'ai développé une macro avec de nombreuses opération de Copier/Coller.
A l'exécution de la macro, toutes ces opérations sont visibles à l'utilisateur. Y a t-il un moyen de les masquer ?
Merci d'avance pour vos réponses.
Cdlt
Denis
Version imprimable
Bonjour,
J'ai développé une macro avec de nombreuses opération de Copier/Coller.
A l'exécution de la macro, toutes ces opérations sont visibles à l'utilisateur. Y a t-il un moyen de les masquer ?
Merci d'avance pour vos réponses.
Cdlt
Denis
Bonjour,
Tu peux désactiver la mise à jour de l'écran avec le code
ATTENTION n'oublie pas à la fin de ta macro de remettre à TrueCode:Application.ScreenUpdating=False
Code:Application.ScreenUpdating=True
Merci pour ce retour rapide.
J'ai intégré les 2 commandes, mais j'ai toujours le défilement des écrans ...
Peux-tu nous joindre ton code ?
Bonjour,
Ci-après le code :
Sub Parcourir()
'
' Parcourir Macro
' Macro enregistrée le 11/05/2009
'
ToOpen = Application.GetOpenFilename
Workbooks.Open (ToOpen)
MaSource = ActiveWorkbook.Name 'Prend le nom du fichier actif, par défaut celui que tu viens d'ouvir
'
Application.ScreenUpdating = False
'
' Récupération de "Export Devis MEO"
'
Sheets("Export Devis MEO").Select
Cells.Select
Selection.Copy
Windows("fiche devis_2009.XLS").Activate
Sheets("Export Devis MEO").Select
Cells.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'
' Récupératuion de "Export Devis Exploit"
'
Windows(MaSource).Activate
Sheets("Export Devis Exploit.").Select
Cells.Select
Selection.Copy
Windows("fiche devis_2009.XLS").Activate
Sheets("Export Devis Exploit").Select
Cells.Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
'
Application.ScreenUpdating = True
'
Windows(MaSource).Activate
ActiveWorkbook.Close
'
Sheets("Repartition des charges").Select
'
End Sub
Bonjour,
Egalement une autre question dans la foulée de celle-ci.
Comment en fin de phase Copier/Coller, inhiber les questions "Voulez-vous mettre à jour ..." et "Vouler-vous vider le presse-papier ..." ?
Merci d'avance
Bonjour,
Pour moi la mise à jour écran est bonne dans ta macro. Si tu l'exécutes en mode débug tu vois effectivement les étapes mais si tu l'exécutes en mode normal, on ne voit pas toutes les successions d'écran.
Pour ne pas avoir les messages d'alerte, ces fenêtres apparaissent lors de l'instruction close. On peut encadrer la fonction Close avec l'instructionpar ailleurs ton code est simplifiable : (attention aux feuilles nommées parfois Export Devis Exploit et parfois Export Devis Exploit.Code:
1
2
3 Application.DisplayAlerts = False Workbooks(MaSource).Close Application.DisplayAlerts = True
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Sub Parcourir() Dim ToOpen As String Dim MaSource As String ' Parcourir Macro ' Macro enregistrée le 11/05/2009 ' ToOpen = Application.GetOpenFilename Workbooks.Open (ToOpen) MaSource = ActiveWorkbook.Name 'Prend le nom du fichier actif, par défaut celui que tu viens d'ouvir ' Application.ScreenUpdating = False ' ' Récupération de "Export Devis MEO" ' Sheets("Export Devis MEO").Cells.Copy Workbooks("fiche devis_2009.xls").Sheets("Export Devis MEO").Range("A1") ' ' Récupératuion de "Export Devis Exploit" ' Windows(MaSource).Activate Sheets("Export Devis Exploit").Cells.Copy Workbooks("fiche devis_2009.xls").Sheets("Export Devis Exploit").Range("A1") Application.DisplayAlerts = False Workbooks(MaSource).Close Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
Merci beaucoup pour votre aide.