IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Insertion d'image via macro (bouton) sans lien [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet
    Inscrit en
    Septembre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2020
    Messages : 5
    Par défaut Insertion d'image via macro (bouton) sans lien
    Bonjour a tous,

    Apres avoir fait plusieurs essais, j'ai réussi a créer un bouton pour insérer une image via un bouton dans une zone ciblée (plusieurs cellules fusionnées), en passant par Pictures.Insert mais lorsque que je veux l'ouvrir sur le poste d'un collègue, les images ne sont plus présentes a cause du lien que cette fonction crée.

    J'ai vu qu'il fallait maintenant passer par la fonction AddPictures, mais je ne sais pas si cela fonctionne avec un bouton.. De ce que j'en vois, non car l'image n'apparait dans le fichier.

    Le but de ce classeur est qu'il soit commun a tous nos technicien, je ne veux pas passer par un chemin d'accès aux photos car ces chemins seront clairement tous différents a chaque technicien.

    Je vous mets ci dessous le code avec le pictures.insert, je ne sais pas si cela est adaptable..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    Sub insere_image()
     
        Dim ficimg As String, Ad As String
     
            Ad = Selection.Address
            ficimg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image") ' choix nom du fichier
            If ficimg = "Faux" Then Exit Sub
     
            ActiveSheet.Pictures.Insert(ficimg).Select ' insertion
                With Selection.ShapeRange
                    .LockAspectRatio = False ' proportions d'origine lorsque vous la redimensionnez 'Pas besoin, c'est fait automatiquement sur la sélection ''''
                    .Top = Range(Ad).Top ' haut de la cellule '''''
                    .Left = Range(Ad).Left ' gauche de la cellule
                    .Height = Range(Ad).Height ' hauteur des cellules fusionnées
                    .Width = Range(Ad).Width ' largeur des cellules fusionnées
     
                End With
     
                With Selection
                    .Placement = xlMoveAndSize
                    .PrintObject = True
                End With
     
    End Sub
    Merci pour votre aide.
    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Lionel-FW Voir le message
    Bonjour,

    Quel est le problème avec ce code ? Les images sont toujours présentes une fois importées.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chef de projet
    Inscrit en
    Septembre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2020
    Messages : 5
    Par défaut
    Bonjour,

    Ce code fonctionne bien. La problématique est la suivante:
    - Je mets a disposition plusieurs documents vierges pour des rapports d'essais chez nos clients
    - Nos techniciens les remplissent et y ajoute leurs photos
    - Ils nous renvoient les documents complétés mes les photos ne suivent pas.
    Nom : Capture.JPG
Affichages : 147
Taille : 17,3 Ko

    Nous devons renvoyer les rapports d'essais au client afin qu'il voit l'efficacité de nos machine, et de savoir s'ils en achètent une ou non.

    Je souhaiterai avoir les photos sauvegardées dans le document, mais pouvoir l'insérer via un bouton.

    Cordialement,

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Lionel-FW Voir le message
    Chez moi, les photos restent associées au fichier, je n'ai pas de liaison.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chef de projet
    Inscrit en
    Septembre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2020
    Messages : 5
    Par défaut
    Bonjour Eric,

    Même si vous déplacer le fichier ou renommer la photo importée ?

    Cordialement,

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Lionel-FW Voir le message
    Effectivement le lien disparaît.

    Regardez si ce code règle votre problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
     
    Sub TesterLInsertImage2()
     
    Dim FicImg As Variant
    Dim Ad As String
     
            Ad = Selection.Address
            FicImg = Application.GetOpenFilename(".jpg,*.jpg", , "Choisissez l'image")
            If FicImg = "Faux" Then Exit Sub
     
            Insert_Image2 Range(Ad), FicImg
     
    End Sub
     
     
    Sub Insert_Image2(ByVal CelluleImage As Range, ByVal CheminImage As String)
     
    Dim ShImage As Worksheet
     
    Dim ImageLargeur As Single, RatioImage As Single
    Dim MonImage As Shape
    Dim NbShapes As Integer
     
        Set ShImage = CelluleImage.Parent
     
        With ShImage
     
            ImageLargeur = CelluleImage.Width
            RatioImage = ImageRatio(CheminImage)
     
            NbShapes = .Shapes.Count + 1
     
             ' Insertion de l'image
             '---------------------
             Set MonImage = .Shapes.AddShape(msoShapeRectangle, CelluleImage.Left, CelluleImage.Top, ImageLargeur, ImageLargeur / RatioImage)
             With MonImage
                  .Name = "ImageFeuille" & NbShapes
                  With .Fill
                       .Visible = msoTrue
                       .UserPicture CheminImage
                  End With
                  With .Line
                       .Visible = msoTrue
                       .Weight = 1
                  End With
             End With
             Set MonImage = Nothing
     
        End With
     
          Set ShImage = Nothing
     
     End Sub
     
     
    Function ImageRatio(ByVal CheminEtNomDeLImage As String) As Single
     
    ' A partir du tuto "Utiliser la librairie Windows Image Acquisition en VBA" de SilkyRoad et Bbil
     
    Dim Img As Object
     
        Set Img = CreateObject("WIA.ImageFile")
        With Img
             .LoadFile CheminEtNomDeLImage
             ImageRatio = .Width / .Height
        End With
        Set Img = Nothing
     
    End Function

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [X3-V6] Dupliquer une ligne via un bouton sans Sage
    Par Optimus2016 dans le forum SAGE
    Réponses: 3
    Dernier message: 21/04/2017, 18h43
  2. [XL-2010] Insertion image JPG dans le corps du mail outlook - Via Macro Excel
    Par Papt18 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/04/2016, 11h55
  3. [XL-2003] Insertion image .tiff via macro
    Par tomo80 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2011, 13h32
  4. [XL-2003] Perte du lien entre bouton image et macro
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2011, 10h59
  5. insertion image avec macro sans doublon lors de la réexécution
    Par picogunsy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 08/07/2010, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo