spécial Torquemada, excel

Comme son nom l'indique

Modérateurs : Amaury, gg

Répondre
gg
Site Admin
Messages : 958
Enregistré le : sam. 15 févr. 2003, 19:00

spécial Torquemada, excel

Message par gg »

bon, alors voilà une solution rapide, mais peut être pas très pratique, puisqu'il faudra réitérer à chaque image. Mais je ne sais pas trop comment faire autrement, comme ça au pied levé. Et surtout parce que j'y connais quand même pas grand chose, je fais très détaillé parce que je ne sais pas si tu es à l'aise.

en fait après avoir relu ton post, je te propose deux solutions, aucune des deux n'est parfaite, mais je tatonne pour visual.

tu actives la barre des Controles, affichage boite à outils controles.
ensuite tu crées un cadre avec l'outil correspondant de la boite à outils (la petit montagne avec le soleil)

logiquement ce cadre s'appellera image1

ensuite tu cliques sur l'équerre de la boite à outil, ça te permet de sélectionner le carré qui recevra l'image

puis tu cliques sur la main qui tient une lettre, ça ouvre la boite de dialogue des propriétés du carré image. Tu peux t'amuser autant que tu veux avec les diverses options, histoire d'avoir la présentation qui te convient.

dans cette boite, tu cherches un truc qui s'appelle Picture, en cliquant dans la zone blanche à coté, une petite flèche va apparaître, ça te permet d'aller chercher l'image que tu veux mettre dans le cadre.

tu verra normalement il y a aussi un :
picturealignement, qui te permet de centrer ton image dans ton cadre (à priori, il faut sélectionner PictureAlignement Center.
picturesizemode, qui te permet de faire bouger la taille de l'image en même temps que celle du cadre. (à priori sélectionner Modezoom)

cette étape faite voici les deux solutions que je te propose.
la première est faite pour dimensionner en fonction d'une cellule, la seconde de donner une dimension à l'image en cliquant dessus.

solution 1
tu te place n'importe où sur ta feuille, tu active l'équerre et tu clique sur la petite loupe au-dessus d'une lettre dans la boite d'outil controles.
normalement tu devrais ouvrir visual basic.
tu vas voir apparaitre une liste déroulante (Général) et une autre (declaration)
à la place de général tu choisis Worksheet et à la place de (déclaration) choisi Change

entre les deux lignes qui sont apparues(il se peut qu'à l'origine, le machin ait mis des lignes qui correspondent à SelectionChange, il faudra les effacer) tu tapes

image1.width= range("a5").width
image1.height=range("a5").height

tu dois au final obtenir

Private Sub Worksheet_Change(ByVal Target As Range)
image1.Width = Range("a5").Width
image1.Height = Range("a5").Height
End Sub

ensuite, logiquement à chaque fois que ta feuille va changer, l'image prendra les dimensions de la cellule, il suffit alors de la placer dessus. a5 est le nom de cellule, choisie au hasard.

tu peux choisir une autre manoeuvre pour activer le processus, double click, calculate, selection change au choix à toi de voir ce qui te convient le mieux.

en fait, après essai, si tu peux filer un petit calcul à chaque opération, Calculate marche très bien.

solution deux.
tu sélectionnes encore le cadre qui contient ton image, tu le met à la dimension voulue normalement avec les poignées
(tu verras que si la boite de propriété est encore ouverte, tu verras Height et Width, qui bougeront aussi. Ce sont la hauteur et la largeur de ton cadre). Par exemple, je fixe Height et Width à 100.

puis tu clique sur la petite loupe au-dessus d'une lettre dans la barre d'outil.
ça va t'ouvrir visual basic et tu verras écrit logiquement

Private Sub Image1_Click()
End Sub

avec au dessus deux petits liste déroulante : la première Image1 (c'est le nom du machin sur lequel tu vas agir)
la deuxième (celle de droite) Click (ça veut dire que quand tu vas cliquer sur le cadre, l'action va se passer)

bon, maintenant tu écris entre la première et la dernière ligne.

If image1.Height < 150 then
image1.height=300
image1.width=300
else
image1.height=100
image1.width=100

end if

au final, il faut que tu obtiennes

Private Sub Image1_Click()
If Image1.Height < 150 Then
Image1.Height = 300
Image1.Width = 300

Else
Image1.Height = 100
Image1.Width = 100
End If

End Sub

ensuite tu fermes visual basic et tu décoches l'équerre.
les valeurs de height et width que je te donne sont totalement fictives. Mais ce qui se passe, c'est que quand je clique sur l'image avec ma souris (une fois l'équerre désactivée, c'est à dire en mode normal)
le machin regarde si l'image fait plus ou moins de 150, si elle fait plus, elle ramène les dimensions à 100, si elle fait moins, elle les mets à 300

voilà en gros comment redimensionner une image sur un simple clic de souris. A toi de choisir les dimensions pour la petite et la grande taille, suffit ensuite de mettre une valeur intermédiaire comme comparaison.

pour t'amuser tu peux répéter l'opération avec autre chose que click
dans la petite boite de dialogue de visual qui contient Click, à la place (par exemple) tu peux choisir Mousemove, ça mettra ton image à la dimension simplement en passant la souris dessus.

voila en gros, n'hésite pas si ça ne te convient pas.
gg
Torquemada
Phase de la transformation
Messages : 236
Enregistré le : lun. 26 avr. 2004, 12:00

Message par Torquemada »

Bon je vais tester tout ça !

Merci beaucoups :) :) :)
"Building & Humans : c'est un jeu ou tu joue des êtres sans pouvoirs dans un monde industrialisé. C'est dingue ce qu'on peut faire sans pouvoirs magiques !"

Un Dragon Rôliste Anonyme
Répondre