XL 2013 Placer une image au centre de l'écran

  • Initiateur de la discussion Initiateur de la discussion gvives
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gvives

XLDnaute Occasionnel
Bonjour à tous,

J'ai une macro qui s'exécute lors d'un "CTRL" + "ALT" + "HAUT" et qui m'affiche une image au centre de l'écran. Le problème c'est que le centrage s'effectue à partir de la ligne 1 si bien que lorsque je me situe en ligne 1500 (par exemple) l'image n'est pas visible.

Pouvez vous me dire comment faire pour que le centrage s'effectue par rapport au ruban ?

Bonne soirée à tous,

Une grande pensée pour nos amis belges "Man can peace"
 
Re : Placer une image au centre de l'écran

Merci beaucoup Drandeb, ça marche parfaitement !

Ca donne donc

Workbooks(classeurec).ActiveSheet.Shapes("num1").Top = ActiveWindow.VisibleRange.Top + 200

Très bonne soirée à toi !

🙂
 
Bonjour,

Cherchant à résoudre un problème de centrage d'image à l'écran, je tombe sur ce fil.
J'ai écrit ceci :
VB:
    With Workbooks(1).ActiveSheet.Shapes("Image_Coyote")
        .Top = ActiveWindow.VisibleRange.Top + 80
        .Left = ActiveWindow.VisibleRange.Left + 240
    End With
Empiriquement, pour le centrage horizontal, j'ai mis 240 et, pour le centrage vertical, 80.
L'image est à peu près au milieu de l'écran.
N'y aurait-il pas un moyen plus cartésien pour obtenir (quelle que soit la taille de l'image) la valeur exacte de ces 2 chiffres afin que l'image soit exactement au milieu de l'écran ?
 
Dernière édition:
Salut, à tester
VB:
Option Explicit

Sub Centrage_Champ()
Dim img As Shape, champ As Range
    Set champ = Feuil1.Range("B2:F12")
    Set img = ActiveSheet.Shapes(1)
    With champ
        img.Top = .Top + .Height / 2 - img.Height / 2
        img.Left = .Left + .Width / 2 - img.Width / 2
    End With
End Sub

Sub Centrage_Window()
Dim img As Shape
    Set img = ActiveSheet.Shapes(1)
    With ActiveWindow.VisibleRange
        img.Top = .Top + .Height / 2 - img.Height / 2
        img.Left = .Left + .Width / 2 - img.Width / 2
    End With
End Sub
 

Pièces jointes

  • Plage Window.jpg
    Plage Window.jpg
    119.7 KB · Affichages: 19
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour