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

Centrer sur un objet

akroma59

XLDnaute Nouveau
bonjour

j'ai essayé de publier un post mais il semblerait que ca n'ait pas fonctionné...

je voulais savoir si par hasard quelqu'un savait comment centrer la caméra sur excel sur un objet en particulier... J'essaye d'utiliser la fonction Atteindre mais quand je mets Atteindre objet ca me selectionne tous les objets et la caméra va se positionner sur l'objet le plus proche et je ne sais pas comment lui dire de se positionner sur un autre objet...

Quelqu'un serait m'aider? Merci énormément d'avance!

bonne soirée à vous
 

bcharef

XLDnaute Accro
Re : Centrer sur un objet

Bonsoir akroma59,
Bonsoir à toutes et à tous.

Si, j'ai bien compris, un essai par un raccourci clavier

Copier l'objet ===> Alt & Impécr

Coller l'objet ===> Shift & Inser

Cordialement.

BCharef
 

akroma59

XLDnaute Nouveau
Re : Centrer sur un objet

slt

merci pour la réponse mais ce n'est pas ca du tout... lol

voila imagine que j'ai un dessin qui figure tout en bas a droite de mon fichier et que moi je suis tout en haut à gauche. Je cherche par un code vba ou par une fonction à dire que je veux que ma caméra, que l'image de l'écran, se déplace jusque en bas à droite pour avoir ce dessin au milieu de mon écran... Est-ce que c'est plus clair?

merci quand même beaucoup!
 

akroma59

XLDnaute Nouveau
Re : Re: Centrer sur un objet

je sais pas comment expliquer en fait c'est pas une caméra je viens d'avoir une illumination (je cherchais le mot depuis le début) je parle de la fenetre. Je souhaite que la fenetre ce centre sur une image précise. en fait j'utilise une macro qui permet de faire bouger cette image et je souhate a travers une autre macro que la fenetre se centre sur l'image quelque soit sa position...

j'espère être plus clair désolé pour le malentendu...
 

Fred0o

XLDnaute Barbatruc
Re : Re: Centrer sur un objet

Bonsoir akroma59, Staple, bcharef, le fil.

Je pense qu'en premier lieu, tu devrais affecter un nom à ton image ou pour le moins relever le nom de cette image, par exemple "image 1". Ensuite, par F5 ou en cliquant sur la fenêtre des noms en haut à gauche, tu tapes le nom de ton image "image1". Ainsi, la fenêtre se centrera sur l'image en la sélectionnant.

A+
 

akroma59

XLDnaute Nouveau
Re : Centrer sur un objet

oui tu n'as pas tort

dans mon exemple on clique sur le rectangle bleu et le rectangle blanc avance sur la droite... je voudrais qu'en cliquant sur le rectangle vert la fenetre ce centre sur le rectangle blanc (qu'on ne voit plus à l'écran actuellement).

Est ce que c'est clair?


Regarde la pièce jointe Test.xls
 

Pièces jointes

  • Test.xls
    22 KB · Affichages: 52
  • Test.xls
    22 KB · Affichages: 47

mromain

XLDnaute Barbatruc
Re : Centrer sur un objet

Bonsoir akroma59, bcharef, Staple, FredOo,


Voici un essai avec cette macro :
Code:
Sub CentrerSurShape()
Dim laShape As Shape, celluleCentre As Range, centreT As Double, centreL As Double, i As Long
Dim nbColAffichees As Long, nbLigAffichees As Long, decalageCol As Long, decalageLig As Long

    'définir la forme
    Set laShape = ActiveSheet.Shapes("Rectangle 1")
    
    'calculer les "coordonnées" du centre de la forme
    centreT = laShape.Top + laShape.Height / 2
    centreL = laShape.Left + laShape.Width / 2
    
    'calculer la cellule correspondante aux "coordonnées"
    Set celluleCentre = Sheets("Feuil1").Range("A1")
        
    While celluleCentre.Offset(0, 1).Left < centreL
        Set celluleCentre = celluleCentre.Offset(0, 1)
    Wend
    While celluleCentre.Offset(1, 0).Top < centreT
        Set celluleCentre = celluleCentre.Offset(1, 0)
    Wend
    
    'vériffier le nombre de lignes et colonnes affichées
    nbColAffichees = ActiveWindow.VisibleRange.Columns.Count
    nbLigAffichees = ActiveWindow.VisibleRange.Rows.Count
    
    'calculer la cellule (colonne et ligne) à afficher en haut à droite
    decalageCol = IIf(celluleCentre.Column - CInt(nbColAffichees / 2) + 1 < 1, 1, celluleCentre.Column - CInt(nbColAffichees / 2) + 1)
    decalageLig = IIf(celluleCentre.Row - CInt(nbLigAffichees / 2) + 1 < 1, 1, celluleCentre.Row - CInt(nbLigAffichees / 2) + 1)
    
    'positionner la fenêtre (bugge depuis VBE, la macro doit être lancée depuis le excel)
    ActiveWindow.ScrollColumn = decalageCol
    ActiveWindow.ScrollRow = decalageLig
End Sub
a+
 

Discussions similaires

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