XL 2010 Sélection d'image

guy72

XLDnaute Impliqué
Bonjour,
J'ai fait une sélection d'images de la lune avec des (ChedkBox)
Avec un code, j'ai réussi à avoir qu'une image en supprimant les autres, mais ces dernières restent cochées.
1) Y-a-t-il un moyen pour qu'elles soient décochées en même temps que l'image
2) Ou (mieux) y-a-t-il un moyen de cliquer sur une image et de faire apparaître son double
Merci de votre aide
Cordialement
 

Pièces jointes

  • Choix de la lune.xls
    253.5 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Guy and Job,
Si vous tenez à vos CheckBoxes, vous pouvez décochez les autres :
VB:
Private Sub CheckBox1_Click()
If CheckBox1 = True Then
    Premier_croissant.Visible = True
    Nouvelle_lune.Visible = False
    Dernier_croissant.Visible = False
    Pleine_lune.Visible = False
    CheckBox2 = False
    CheckBox3 = False
    CheckBox4 = False
Else
    Premier_croissant.Visible = False
End If
End Sub
En rajoutant CheckBox xx = false
 

guy72

XLDnaute Impliqué
Bonjour à vous
Je ne tiens pas forcément aux CheckBox
J'ai pensée à ça parce que j'avais un exemple dans mes archives.
Je cherche à choisir une image de lune le plus simple possible (CheckBox ou (OptionButtons ?) ou liste déroulante ou clic sur l'image........
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai utilisé une astuce pour simplifier le code, les images sont appelées Image1, imag2 ... de cette façon on peut utiliser un for next.
VB:
Sub ToutesLunesVisible()    'Rend visible toutes les lunes
    For i = 2 To 9
        ActiveSheet.Shapes("Image " & i).Visible = True
    Next i
End Sub
Sub ToutesLunesInvisible()  'Rend invisible toutes les lunes
    For i = 2 To 9
        ActiveSheet.Shapes("Image " & i).Visible = False
    Next i
End Sub
Sub Lunes3()                'Rend visible toutes la lune 3
    ActiveSheet.Shapes("Image " & 3).Visible = True
End Sub
 

Modeste geedee

XLDnaute Barbatruc
Bonsour® Guy85
Bonjour guy72,

Plutôt que des CheckBoxes utilisez des OptionButtons, il n'y en aura toujours qu'un de sélectionné.

A+
je dirais même plus ... !
superposer les images de tailles identiques...
mettre celle sélectionnée au premier plan
;)
1574685863858.png

VB:
Private Sub PremierCroissant_Click()
Premier_Croissant.BringToFront
End Sub

Private Sub PremierQuartier_Click()
Premier_Quartier.BringToFront
End Sub

Private Sub GibeuseCroissante_Click()
Gibeuse_Croissante.BringToFront
End Sub

Private Sub PleineLune_Click()
Pleine_lune.BringToFront
End Sub

Private Sub GibeuseDeCroissante_Click()
Gibeuse_Decroissante.BringToFront
End Sub

Private Sub DernierCroissant_Click()
Dernier_Croissant.BringToFront
End Sub

Private Sub DernierQuartier_Click()
Dernier_Quartier.BringToFront
End Sub

Private Sub NouvelleLune_Click()
Nouvelle_lune.BringToFront
End Sub
 

Pièces jointes

  • Choix de la lune.xls
    751 KB · Affichages: 7

Modeste geedee

XLDnaute Barbatruc
Bonsour®E
Tiens !!!, bonjour modeste.
L'image sera toujours à la même place.
Part-contre, est-ce embêtant (au niveau poids du ficher) d'avoir plusieurs images superposées ?
Embêtant n'est pas le mot...
quel que soit le format original, Toute image incluse dans un fichier Excel est intégrée au format bitmap
Les 8 images se trouvant dans le fichier précédent participent intégralement aux 751Ko du fichier
une solution serait d'externaliser les images au détriment de complications (code, durée) dues à l'usage de LoadPicture
 

job75

XLDnaute Barbatruc
Salut sylvanu, Modeste geedee,

Avec 8 OptionButtons et autant d'images (ActiveX) on peut commencer à s'intéresser au module de classe.

Fichier joint avec dans ThisWorkbook :
VB:
Dim OB() As New Classe1

Private Sub Workbook_Open()
Dim o As Object, n%
For Each o In Feuil1.OLEObjects 'CodeName de la feuille
    If TypeName(o.Object) = "OptionButton" Then ReDim Preserve OB(n): Set OB(n).OB = o.Object: n = n + 1
Next
End Sub
Dans le module de classe Classe1 :
VB:
Public WithEvents OB As MSForms.OptionButton

Private Sub OB_Click()
OB.Parent.OLEObjects(Left(OB.Name, 8)).BringToFront
End Sub
A+
 

Pièces jointes

  • Choix de la lune(1).xls
    613.5 KB · Affichages: 8

guy72

XLDnaute Impliqué
Merci pour toutes vos réponses.
Mais, moi, j'ai toujours mon éternel problème:
Je suis obligé de poster un fichier comme modèle, car mon fichier est trop gros.
Donc, après avoir eu vos fichiers:
1) Je copie la feuille dans mon fichier d'origine (ça fonctionne)
2) Je copie les images, les boutons, les codes de la feuille qui est déjà dans mon fichier dans ma feuille qui s'appelle "Mizol" (ou il y a la reproduction de ma console)......et là ça ne fonctionne plus....:mad:
Pourquoi ??
 

Modeste geedee

XLDnaute Barbatruc
les images,
les optionButtons sont à renommer...

les images :
Dernier_Croissant
Dernier_Quartier
Gibeuse_Croissante
Gibeuse_Decroissante
Nouvelle_lune
Pleine_lune
Premier_Croissant
Premier_Quartier

les optionButton
DernierCroissant_Click()
DernierQuartier_Click()
GibeuseCroissante_Click()
GibeuseDeCroissante_Click()
NouvelleLune_Click()
PleineLune_Click()
PremierCroissant_Click()
PremierQuartier_Click()
 

Discussions similaires

Réponses
2
Affichages
413

Statistiques des forums

Discussions
312 198
Messages
2 086 137
Membres
103 129
dernier inscrit
Atruc81500