Bonjour,
Je constate que sur une de mes macro la commande Application.ScreenUpdating = False ne fonctionne pas.
Mon code enregistre-sous un objet Word incorporé à une feuille Excel, dans le disque dur.
Sub SaveAs()
Dim sh As Shape
Dim objWord As Object ''Word.Document
Dim objOLE As OLEObject
Dim CheminDefaut As String
Dim NomPers As String
Application.ScreenUpdating = False
CheminDefaut = CreateObject("WScript.Shell").specialFolders("Desktop") & "\"
Set sh = ActiveSheet.Shapes("NouveauNom")
sh.OLEFormat.Activate
ActiveSheet.Range("A1").Select
Set objOLE = sh.OLEFormat.Object
Set objWord = objOLE.Object
objWord.SaveAs2 Filename:=CheminDefaut & "Mon document " _
& Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmmss") _
& ".docx", FileFormat:=wdFormatXMLDocument ''1=wdFormatTemplate
End Sub
Je constate que la commande Application.ScreenUpdating = False permet bien de désactiver la MAJ de l'écran pour d'autres instructions mais pas pour la commande qui concerne l'objet OLEFormat pour laquelle je vois un mix d'écran Excel, objet Word, retour sur Excel... pas très esthétique..
Autre point, lorsque j'exécute le débogage en pas à pas, j'avance de ligne en ligne jusqu'à la ligne "sh.OLEFormat.Activate", où tout le reste de la macro s'exécute d'un coup. En cherchant un peu en ligne je n'ai pas trouvé de raison à ça.
Est-ce que par hasard quelqu'un pourrait m'éclairer ?
Merci d'avance!