Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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"
 

gvives

XLDnaute Occasionnel
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 !

 

Magic_Doctor

XLDnaute Barbatruc
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:

kiki29

XLDnaute Barbatruc
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
    119.7 KB · Affichages: 15

Magic_Doctor

XLDnaute Barbatruc
Bonjour kiki29,

Merci pour votre intervention.
C'est quand même un peu compliqué.
En 2 simples sentences on peut résoudre le problème. Mais comment automatiquement trouver les chiffres exacts dont se rapprochent 80 et 240 ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…