Faire varier la taille d'un rectangle dans userform suivant valeur dans feuille excel

serval

XLDnaute Occasionnel
Bonjour,

Je me suis posé une question et je ne sais pas si cela est réalisable...

En effet, je cherche le moyen de faire varier la taille d'un rectangle dans un userform en fonction des valeurs qui seront inscritent dans une case jaune sur la feuille excel.

Par exemple, on decide que les valeurs pourront aller de 0 à 250. Il faudrait que la taille de mon rectangle puisse varier proportionnelement suivant les valeurs choisies.

Est-ce que cela voud semble possible?

Je joints un fichier pour pê vous aider à mieux cerner la question :)

merci de votre aide,
FAb
 

Pièces jointes

  • taille modulable.xls
    28 KB · Affichages: 94
G

Guest

Guest
Re : Faire varier la taille d'un rectangle dans userform suivant valeur dans feuille

Bonsoir,

La base et ensuite à toi de jouer.

Code:
Const HauteurMAX As Single = 291.75
Const TopZero As Single = 68.25 + HauteurMAX
Private Sub UserForm_Initialize()
With Frame1
    .Height = 250 / HauteurMAX * Range("C3")
    .Top = TopZero - .Height
End With
End Sub

A+
 

JCGL

XLDnaute Barbatruc
Re : Faire varier la taille d'un rectangle dans userform suivant valeur dans feuille

Bonjour à tous,

Un essai avec :

Private Sub UserForm_Initialize()
Me.Frame1.Top = 320 - Cells(3, 3)
Me.Frame1.Height = Cells(3, 3) + 70
End Sub

A + à tous

Edition : Salut mon Ges. Ravi de te croiser. A+++ l'ami et Bises chez toi
Ré Edition : Salut KenDev
 

Pièces jointes

  • JC Taille Modulable Frame.xls
    45.5 KB · Affichages: 124
Dernière édition:

KenDev

XLDnaute Impliqué
Re : Faire varier la taille d'un rectangle dans userform suivant valeur dans feuille

Bonjour Serval,

Avec quelque chose comme ça, dans le code de la feuille. L'Userform doit être affiché en mode false auparavant, ou sinon activer la ligne UserForm1.Show (False) si il s'agit d'afficher l'Userform lors du changement de valeur:

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sz%, Mx%
    Mx = 290 'taille max
    
    'UserForm1.Show (False)
    
    If Target.Row = 3 And Target.Column = 3 Then
        Sz = WorksheetFunction.Min(Mx, Val(Target))
        With UserForm1.Frame1
            .Height = Sz
            .Top = 70 + (Mx - Sz)
        End With
    End If

End Sub

Cordialement

KD

Edit : bonjour JCGL. Hasco je ne te salue pas ! ... déjà fait :)
 

serval

XLDnaute Occasionnel
Re : Faire varier la taille d'un rectangle dans userform suivant valeur dans feuille

Bonjour à vous tous.

Ca marche tiptop :) c'est excatement ce que je recherchais!

Est-ce que vous savez s'il est possible de jouer sur la transparence des couleurs sous VB?

Merci beaucoup en tout cas,
FAb
 

Discussions similaires