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
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........
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
je dirais même plus ... !
superposer les images de tailles identiques...
mettre celle sélectionnée au premier plan
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
Mais ça ne marche que si les images sont de même taille et superposables.
Dans le cas où les images par exemple se "déplacent" le mode visible/invisible est plus adéquat.
Tou dépend de la demande et du contexte.
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 ?
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
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
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....
Pourquoi ??