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

franky1992 Messages postés 19 Statut Membre -  
franky1992 Messages postés 19 Statut Membre -
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

4 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    essaie ceci:

     ActiveSheet.Shapes(1).Locked = msoFalse


    0
  2. franky1992 Messages postés 19 Statut Membre
     
    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
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > cs_Le Pivert Messages postés 8437 Statut Contributeur
         
        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
  3. franky1992 Messages postés 19 Statut Membre
     
    Merci :)

    et lui mettre un lien dune macro dessus l'image ces possible ?
    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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
    2. franky1992 Messages postés 19 Statut Membre > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      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
    3. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > franky1992 Messages postés 19 Statut Membre
       
      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
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      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
    5. franky1992 Messages postés 19 Statut Membre > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      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
  4. franky1992 Messages postés 19 Statut Membre
     
    Merci :)
    0