Lorsque dans Excel sur une feuille, dans la mise en page, nous définissons
un ajustement des pages en largeur et en hauteur, Excel nous calcul de lui
même le pourcentage de zoom qui correspond à notre définition des pages...
Je voudrais donc récupérer ce pourcentage... mais comment faire ? Puisque si
nous avons :
ActiveSheet.PageSetup.FitToPagesWide = 1
ActiveSheet.PageSetup.FitToPagesTall = 1
Nous n'aurons pas la valeur du zoom via la commande :
ActiveSheet.PageSetup.Zoom
Car nous aurons systèmatiquement la valeur False...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benead
HD,
Une très ancienne réponse (12/2000) d'un ancien dieu de ce forum (nommé Laurent Longre, LL pour les intimes) à une question similaire...Une solution "pas propre comme" il l'avait lui-même indiqué :
Sub Test() Dim Zoom As Integer Application.SendKeys "%t1{TAB}{CLEAR}~" Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" Application.Dialogs(xlDialogPageSetup).Show With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub
Pour que cela fonctionne, il faut activer la référence "Microsoft Form 2.0 Object Library."
Le principal, c'est que cela fonctionne...
A+ Benead XL2000
HD a écrit:
Bonjour,
Lorsque dans Excel sur une feuille, dans la mise en page, nous définissons un ajustement des pages en largeur et en hauteur, Excel nous calcul de lui même le pourcentage de zoom qui correspond à notre définition des pages...
Je voudrais donc récupérer ce pourcentage... mais comment faire ? Puisque si nous avons : ActiveSheet.PageSetup.FitToPagesWide = 1 ActiveSheet.PageSetup.FitToPagesTall = 1
Nous n'aurons pas la valeur du zoom via la commande : ActiveSheet.PageSetup.Zoom Car nous aurons systèmatiquement la valeur False...
Merci d'avance pour votre aide -- @+ HD
HD,
Une très ancienne réponse (12/2000) d'un ancien dieu de ce forum (nommé Laurent Longre, LL pour les intimes) à une
question similaire...Une solution "pas propre comme" il l'avait lui-même indiqué :
Sub Test()
Dim Zoom As Integer
Application.SendKeys "%t1{TAB}{CLEAR}~"
Application.Dialogs(xlDialogPageSetup).Show
Application.SendKeys "{TAB 3}^c{ESC}"
Application.Dialogs(xlDialogPageSetup).Show
With New DataObject
.GetFromClipboard
Zoom = .GetText(1)
End With
MsgBox " Zoom = " & Zoom
End Sub
Pour que cela fonctionne, il faut activer la référence "Microsoft Form 2.0 Object Library."
Le principal, c'est que cela fonctionne...
A+
Benead
XL2000
HD a écrit:
Bonjour,
Lorsque dans Excel sur une feuille, dans la mise en page, nous définissons
un ajustement des pages en largeur et en hauteur, Excel nous calcul de lui
même le pourcentage de zoom qui correspond à notre définition des pages...
Je voudrais donc récupérer ce pourcentage... mais comment faire ? Puisque si
nous avons :
ActiveSheet.PageSetup.FitToPagesWide = 1
ActiveSheet.PageSetup.FitToPagesTall = 1
Nous n'aurons pas la valeur du zoom via la commande :
ActiveSheet.PageSetup.Zoom
Car nous aurons systèmatiquement la valeur False...
Une très ancienne réponse (12/2000) d'un ancien dieu de ce forum (nommé Laurent Longre, LL pour les intimes) à une question similaire...Une solution "pas propre comme" il l'avait lui-même indiqué :
Sub Test() Dim Zoom As Integer Application.SendKeys "%t1{TAB}{CLEAR}~" Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" Application.Dialogs(xlDialogPageSetup).Show With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub
Pour que cela fonctionne, il faut activer la référence "Microsoft Form 2.0 Object Library."
Le principal, c'est que cela fonctionne...
A+ Benead XL2000
HD a écrit:
Bonjour,
Lorsque dans Excel sur une feuille, dans la mise en page, nous définissons un ajustement des pages en largeur et en hauteur, Excel nous calcul de lui même le pourcentage de zoom qui correspond à notre définition des pages...
Je voudrais donc récupérer ce pourcentage... mais comment faire ? Puisque si nous avons : ActiveSheet.PageSetup.FitToPagesWide = 1 ActiveSheet.PageSetup.FitToPagesTall = 1
Nous n'aurons pas la valeur du zoom via la commande : ActiveSheet.PageSetup.Zoom Car nous aurons systèmatiquement la valeur False...
Merci d'avance pour votre aide -- @+ HD
HD
Je connaissais une réponse "pas propre" utilisant le SendKey... mais pas aussi complète que la tienne.
Merci de ton aide Benead. -- @+ HD
Je connaissais une réponse "pas propre" utilisant le SendKey... mais pas
aussi complète que la tienne.
Je connaissais une réponse "pas propre" utilisant le SendKey... mais pas aussi complète que la tienne.
Merci de ton aide Benead. -- @+ HD
HD
Sub Test() Dim Zoom As Integer Application.SendKeys "%t1{TAB}{CLEAR}~" Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" Application.Dialogs(xlDialogPageSetup).Show With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub
Pour ceux que le sujet intéresse... il m'a fallut faire quelques modifs en supprimant certaines lignes car elles modifiaient la mise en page originelle de la feuille :
Sub Test() Dim Zoom As Integer Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub
-- @+ HD
Sub Test()
Dim Zoom As Integer
Application.SendKeys "%t1{TAB}{CLEAR}~"
Application.Dialogs(xlDialogPageSetup).Show
Application.SendKeys "{TAB 3}^c{ESC}"
Application.Dialogs(xlDialogPageSetup).Show
With New DataObject
.GetFromClipboard
Zoom = .GetText(1)
End With
MsgBox " Zoom = " & Zoom
End Sub
Pour ceux que le sujet intéresse... il m'a fallut faire quelques modifs en
supprimant certaines lignes car elles modifiaient la mise en page originelle
de la feuille :
Sub Test()
Dim Zoom As Integer
Application.Dialogs(xlDialogPageSetup).Show
Application.SendKeys "{TAB 3}^c{ESC}"
With New DataObject
.GetFromClipboard
Zoom = .GetText(1)
End With
MsgBox " Zoom = " & Zoom
End Sub
Sub Test() Dim Zoom As Integer Application.SendKeys "%t1{TAB}{CLEAR}~" Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" Application.Dialogs(xlDialogPageSetup).Show With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub
Pour ceux que le sujet intéresse... il m'a fallut faire quelques modifs en supprimant certaines lignes car elles modifiaient la mise en page originelle de la feuille :
Sub Test() Dim Zoom As Integer Application.Dialogs(xlDialogPageSetup).Show Application.SendKeys "{TAB 3}^c{ESC}" With New DataObject .GetFromClipboard Zoom = .GetText(1) End With MsgBox " Zoom = " & Zoom End Sub