Quel est le code de Vba, je dois inscrire pour Déverrouillé l'image

franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'aimerais savoir comment... Ou plutôt quel est le code de Vba, je dois inscrire pour Déverrouillé l'image
Car ma feuille est protégée et j'aimerais quand j'importe une image de pouvoir la bouger et la grandir !

Je sais on peut déverrouiller et verrouillé des cellule en VBA, mais avec des objets ou images comment ?



Si impossible ! Comment sinon on peut lui affecter un lien Marco automatiquement a l'ajout de limage

Merci :)

  
Sub InsertPic()
' ActiveSheet.Unprotect Password:="123"
Dim profile As String
On Error GoTo 0
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Filters.Clear
.Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"
.ButtonName = "Select"
.AllowMultiSelect = False
.Title = "Choose Photo"
.InitialView = msoFileDialogViewDetails
.Show
End With
ActiveSheet.Range("B110").Select

ActiveSheet.Shapes.AddPicture Filename:=fd.SelectedItems(1), _
linktofile:=msoFalse, _
savewithdocument:=msoCTrue, _
Left:=ActiveSheet.Range("B110").Left + 2, _
Top:=ActiveSheet.Range("B110").Top + 2, _
Width:=250, _
Height:=115

' ActiveSheet.Protect Password:="123"
End Sub
A voir également:

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

essaie ceci:

 ActiveSheet.Shapes(1).Locked = msoFalse


0
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Fonctionne pas !

End With
ActiveSheet.Range("B110").Select
ActiveSheet.Shapes(1).Locked = msoFalse
ActiveSheet.Shapes.AddPicture Filename:=fd.SelectedItems(1), _
linktofile:=msoFalse, _
savewithdocument:=msoCTrue, _
Left:=ActiveSheet.Range("B110").Left + 2, _
Top:=ActiveSheet.Range("B110").Top + 2, _
Width:=250, _
Height:=115


ou il y a tu une position particulière a l’intégré ?

Merci !
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
comme ceci:

Sub InsertPic()
            ActiveSheet.Unprotect Password:="123"
            Dim profile As String
            On Error GoTo 0
            Dim fd As FileDialog
            Set fd = Application.FileDialog(msoFileDialogFilePicker)
            With fd
                .Filters.Clear
                .Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"
                .ButtonName = "Select"
                .AllowMultiSelect = False
                .Title = "Choose Photo"
                .InitialView = msoFileDialogViewDetails
                .Show
            End With
              ActiveSheet.Range("B110").Select

              ActiveSheet.Shapes.AddPicture Filename:=fd.SelectedItems(1), _
              linktofile:=msoFalse, _
              savewithdocument:=msoCTrue, _
              Left:=ActiveSheet.Range("B110").Left + 2, _
              Top:=ActiveSheet.Range("B110").Top + 2, _
              Width:=250, _
              Height:=115
              ActiveSheet.Shapes(1).Locked = msoFalse
              ActiveSheet.Protect Password:="123"
End Sub



@+
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
si tu veux nommer ton image, c'est cela:

Sub InsertPic()
            ActiveSheet.Unprotect Password:="123"
            Dim profile As String
            On Error GoTo 0
            Dim fd As FileDialog
            Dim img As Excel.Shape

            Set fd = Application.FileDialog(msoFileDialogFilePicker)
            With fd
                .Filters.Clear
                .Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"
                .ButtonName = "Select"
                .AllowMultiSelect = False
                .Title = "Choose Photo"
                .InitialView = msoFileDialogViewDetails
                .Show
            End With
              ActiveSheet.Range("B110").Select

              Set img = ActiveSheet.Shapes.AddPicture(Filename:=fd.SelectedItems(1), _
              linktofile:=msoFalse, _
              savewithdocument:=msoCTrue, _
              Left:=ActiveSheet.Range("B110").Left + 2, _
              Top:=ActiveSheet.Range("B110").Top + 2, _
              Width:=250, _
              Height:=115)
               img.Name = "monimage"
              ActiveSheet.Shapes("monimage").Locked = msoFalse
              ActiveSheet.Protect Password:="123"
End Sub



donc 2 possibilités


@+
0
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Merci :)

et lui mettre un lien dune macro dessus l'image ces possible ?
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Comment Affecter une macro à une image ?
Attacher une macro à une image
Placer le curseur sur le dessin.
Appuyer sur le bouton droit de la souris.
Sélectionner l'option Affecter une macro dans le menu contextuel.
Sélectionner la macro-commande de votre choix dans la liste.
Appuyer sur le bouton OK.

@+
0
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je voulais dire à partir de ce code ! En gros, c'est un genre d'album photos d'inspection et j'aimerais mettre un lien Macro dans mes images quand je les load dans l'excel pour activer un code d'agrandissement et rapitsement.

Je ne ces pas si ça ce fait !

Je me débrouille, mais ces 3 4 chose-là, je trouve rien qui en parle !

Merci !
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Voici avec un lien hypertexte en B109

Sub InsertPic()
            ActiveSheet.Unprotect Password:="123"
            Dim profile As String
            On Error GoTo 0
            Dim fd As FileDialog
            Dim img As Excel.Shape

            Set fd = Application.FileDialog(msoFileDialogFilePicker)
            With fd
                .Filters.Clear
                .Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"
                .ButtonName = "Select"
                .AllowMultiSelect = False
                .Title = "Choose Photo"
                .InitialView = msoFileDialogViewDetails
                .Show
            End With
              ActiveSheet.Range("B110").Select

              Set img = ActiveSheet.Shapes.AddPicture(Filename:=fd.SelectedItems(1), _
              linktofile:=msoCTrue, _
              savewithdocument:=msoCTrue, _
              Left:=ActiveSheet.Range("B110").Left + 2, _
              Top:=ActiveSheet.Range("B110").Top + 2, _
              Width:=250, _
              Height:=115)
               img.Name = "monimage"
              ActiveSheet.Shapes("monimage").Locked = msoFalse
            ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Range("B109"), _
 Address:=fd.SelectedItems(1), _
 ScreenTip:="monimage", _
 TextToDisplay:="monimage"
 ActiveSheet.Protect Password:="123"
End Sub


@+
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729 > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Si tu veux mettre plusieurs images, voici un code avec le nom de l'image:

Sub InsertPic()
            ActiveSheet.Unprotect Password:="123"
            Dim profile As String
            On Error GoTo 0
            Dim fd As FileDialog
            Dim img As Excel.Shape
            Dim nom As String
            Set fd = Application.FileDialog(msoFileDialogFilePicker)
            With fd
                .Filters.Clear
                .Filters.Add "Picture Files", "*.bmp;*.jpg;*.gif;*.png"
                .ButtonName = "Select"
                .AllowMultiSelect = False
                .Title = "Choose Photo"
                .InitialView = msoFileDialogViewDetails
                .Show
            End With
              ActiveSheet.Range("B110").Select

              Set img = ActiveSheet.Shapes.AddPicture(Filename:=fd.SelectedItems(1), _
              linktofile:=msoFalse, _
              savewithdocument:=msoCTrue, _
              Left:=ActiveSheet.Range("B110").Left + 2, _
              Top:=ActiveSheet.Range("B110").Top + 2, _
              Width:=250, _
              Height:=115)
              nom = Dir(fd.SelectedItems(1)) 'nom de l'image
              nom = Split(nom, ".")(0) 'nom de l'image sans l'extension
              img.Name = nom
              ActiveSheet.Shapes(nom).Locked = msoFalse
            ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Range("B109"), _
 Address:=fd.SelectedItems(1), _
 ScreenTip:=nom, _
 TextToDisplay:=nom
 ActiveSheet.Protect Password:="123"
End Sub


@+
0
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
En vrai, je cherche comme tu parles ici.
"
Comment Affecter une macro à une image ?
Attacher une macro à une image
Placer le curseur sur le dessin.
Appuyer sur le bouton droit de la souris.
Sélectionner l'option Affecter une macro dans le menu contextuel.
Sélectionner la macro-commande de votre choix dans la liste.
Appuyer sur le bouton OK.
"

Mais en VBA ! en gros sur la suite du code j’aimerais avoir un lien macro dessus styles "Affichage()" pour quand je clique sur limage une macro est activé pour un code qui va agrandir l'image !


Ces tu possible ? Ou on ne peut que manuellement !

Merci pour ta réponse :)
0
franky1992 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention  
 
Merci :)
0