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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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 -...
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

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 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
786
Retour