Microsoft 365 sur feuille protégée : déplacer une image sans pouvoir la modifier, ni la supprimer

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un beau dimanche :)

Je "coince" à nouveau sur un codage que je n'arrive pas à faire.
Le contexte :
J'ai besoin d'afficher et de pouvoir déplacer "à volonté" une image dans une feuille protégée.

Pour l'exemple (fichier joint), en cliquant dans la cellule A7, si je saisi le chiffre 1, mon image s'affiche.
Mais mon image n'est pas protégée et je souhaite, tout en gardant ma feuille protégée :
- qu'elle soit protégée (non modifiable et pas possible de la supprimer),
- que je puisse la déplacer selon mon besoin de visibilité sur ma feuille,

Mes recherche et tentatives n'ont pas abouti,
Auriez-vous la solution ?
Avec mes remerciements,
Amicalement,
lionel,
 

Pièces jointes

  • test_Image.xlsm
    217.9 KB · Affichages: 6
Solution
Bonjour Lionel, Pierre,

Utiliser les touches de direction, le code du ThisWorkbook :
VB:
Private Sub WorkBook_Open()
Feuil1.Shapes("Image2").Locked = True
Application.OnKey "{LEFT}", "Gauche"
Application.OnKey "{RIGHT}", "Droite"
Application.OnKey "{UP}", "Haut"
Application.OnKey "{DOWN}", "Bas"
End Sub
Le macros dans Module1 :
VB:
Sub Gauche()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Left = .Shapes("Image2").Left - 20
End With
End Sub

Sub Droite()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Left = .Shapes("Image2").Left + 20
End With
End Sub

Sub Haut()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Top = .Shapes("Image2").Top -...

job75

XLDnaute Barbatruc
Bonjour Lionel, Pierre,

Utiliser les touches de direction, le code du ThisWorkbook :
VB:
Private Sub WorkBook_Open()
Feuil1.Shapes("Image2").Locked = True
Application.OnKey "{LEFT}", "Gauche"
Application.OnKey "{RIGHT}", "Droite"
Application.OnKey "{UP}", "Haut"
Application.OnKey "{DOWN}", "Bas"
End Sub
Le macros dans Module1 :
VB:
Sub Gauche()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Left = .Shapes("Image2").Left - 20
End With
End Sub

Sub Droite()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Left = .Shapes("Image2").Left + 20
End With
End Sub

Sub Haut()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Top = .Shapes("Image2").Top - 20
End With
End Sub

Sub Bas()
With Feuil1
    .Protect "", UserInterfaceOnly:=True
    .Shapes("Image2").Top = .Shapes("Image2").Top + 20
End With
End Sub
A+
 

Pièces jointes

  • test_Image(1).xlsm
    217.6 KB · Affichages: 10

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Gérard,
Content de te "voir" :)
Merci pour ton fichier et ton code qui fonctionne "comme d'hab" !
Mais ce n'est pas "pratique" car j'ai "souvent" à déplacer l'image selon la ou les cellules que j'ai besoin de voir "derrière" l'image.
Il faudrait que je puisse la déplacer juste au clic dessus et déplacement.
mais peut-être n'est-ce pas possible ?
En tout cas, je garde ton code et je vais voir si je peux le combiner pour un déplacement plus facile.
Merci gérard,
lionel :)
 

Discussions similaires

Réponses
4
Affichages
605

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35