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 :

Demande de modification d'une insertion d'image [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Bonjour à tous :

    J'ai réussis tant bien que mal a faire fonctionner cette macro :

    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
    Private Sub Image1_Click()
    ' Routing pour insérer image dans un contrôle de formulaire ActiveX
    Dim Pict
    Dim ImgFileFormat As String
    Dim Ans As Integer
    ImgFileFormat = "Image JPEG (*.jpg),*.jpg,Bitmap (*.bmp),*.bmp,Png (*.png),*.png"
     
    Pict = Application.GetOpenFilename(ImgFileFormat)
    If Pict = False Then 'Aucune image sélectionnée
    Pict = ""
    Image1.Picture = LoadPicture(Pict)
    Exit Sub
    Else
    Image1.Picture = LoadPicture(Pict)
    Image1.PictureSizeMode = fmPictureSizeModeZoom
     
    End If
     
    End Sub
    je présume qu'il y a certainement des erreurs (n'hésiter pas a me la modifier pour optimisation)

    Par contre j'ai un soucis quand on clique sur l'image si on ne réinsère pas cette image celle ci est perdu.

    J'aimerai une solution pour soit garder la dernière image en cours à l'ouverture

    soit une variable par oui ou non "vous allez modifié l'image voulez vous continuer "

    Et franchement mes compétence sont tellement faible que je ne sais plus ou vraiment chercher.

    Voila je vous remercie d'avance pour votre aide

    J'ai un second soucis ma photo inserer dans excel triple de volume d'octet

    Vous avez une idée ?

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut HEU;;;;
    Bonjour

    regarde plutôt du coté de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Pictures.Insert(chemin )
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Avec le controle d'image ca peux marcher ?

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    non !
    un control image est un activeX donc plus gros en terme d'octets

    ce que je t'ai donné c'est la méthode pour ajouter ou mettre une image sur la feuille ca fait partie des shapes ce n'est pas le même composant
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut
    Donc j'avais bien compris et j'ai énorme soucis ma solution n'est pas réalisable.

    Techniquement elle fonctionne mais pour une image réalisé avec l'active x ca me fait un volume 10 fois supérieur par image et j'en ai 50 par fichier.

    J'avais choisit l'active x parceque mon cadre n'est pas dans une cellule et que ma photo se formate dans le cadre

    Avec la solution que tu m'as donné c'est dans une cellule et la je ne peux pas.

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut
    absolument faux !!

    tu peut très bien insérer une image (shapes) ou tu veux et de la taille que tu veux et même lui attribuer une macro si nécessaire

    bon en relisant ton premier post

    il me semble percevoir un simple clic sur l'image pour la changer et si aucun choix n'est fait laisser celle qui est présente
    c'est bien ca ?????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut re
    Tout a fais

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bon voila

    ouvre un nouveau fichier Excel ajoute lui un module standard

    et colle lui ceci
    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
     
    Sub AjoutImage()
        ' Routing pour insérer image avec macro sans contrôle de formulaire ActiveX
        Dim Pict
        Dim ImgFileFormat As String
    Dim ObjetImage As Object
     
        ImgFileFormat = "Image JPEG (*.jpg),*.jpg,Bitmap (*.bmp),*.bmp,Png (*.png),*.png"
     
        Pict = Application.GetOpenFilename(ImgFileFormat)
        If Pict = False Then    'Aucune image sélectionnée
            Exit Sub
        Else
        For Each sh In ActiveSheet.Shapes
    If sh.Name = "dermage" Then SupprimerImage "dermage"
     Next
     End If
     
     
        Application.ScreenUpdating = False
        With ActiveSheet
     
                    Set ObjetImage = .Pictures.Insert(Pict)
            ObjetImage.Top = [b2].Top
            ObjetImage.Left = [b2].Left
            ObjetImage.Height = 100 'Application.CentimetersToPoints(7.6)
            ObjetImage.Name = "dermage"
         ObjetImage.OnAction = "AjoutImage"
        End With
        Application.ScreenUpdating = True
    End Sub
    Sub SupprimerImage(DestinationImage)
    ActiveSheet.Pictures("dermage").Delete
    End Sub
    maintenant lance une première fois la macro ajoutimage

    tu peut choisir dans la fenêtre l'image que tu veux

    a partir de maintenant a chaque fois que tu clique sur l'image et que tu aura choisi une image l'ancienne sera effacer et la nouvelle mise en place
    comme tu peut le constater Jai placer l'image ou je veux et lui est donner la taille que j'ai voulu

    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut Merci mais
    Bonjour,

    Ca fonctionne parfaitement merci, (je la garde bien au chaud ca me servira certainement)

    Par contre je ne peux pas l'utiliser l'image doit être dans le fichier excel.

    Merci de ton aide

    Par contre la fonction "Dermage" -> je colle un peu

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    dermage n'est pas une fonction c'est le nom que je donne a l'image a chaque fois

    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut Toujour pareil
    toujours le meme soucis mon image est x10 en volume à l'insertion et je comprend pas pourquoi et j'ai pas de solution je viens au secours de tous. existe-t-il une solution ? ou gros bug ?

    Dans tous les cas mon image doit être insérer dans excel.

    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
    Private Sub Image3_Click()
    ' Routing pour insérer image dans un contrôle de formulaire ActiveX
    Dim Pict
    Dim ImgFileFormat As String
    Dim Ans As Integer
    ImgFileFormat = "Fichier image JPEG (*.jpg),*.jpg,Bitmap (*.bmp),*.bmp,Png (*.png),*.png"
     
    Pict = Application.GetOpenFilename(ImgFileFormat, Title:="Sélectionne une image")
    If Pict = False Then 'Aucune image sélectionnée
    If MsgBox("Etes-vous certain de ne pas insèrer d'image", vbYesNo + vbQuestion + vbDefaultButton1 + vbApplicationModal, "Demande de confirmation d'image") = vbNo Then
            Pict = ""
            MsgBox "Aucune image selectionnnée"
    Image3.Picture = LoadPicture(Pict)
    Exit Sub
    End If
    Else
    Image3.Picture = LoadPicture(Pict)
    Image3.PictureSizeMode = fmPictureSizeModeZoom
     
    End If
     
    End Sub

  12. #12
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    Si cela peur aider,
    le code est un peu long mais les images inserer sont redimensionner et compresser de facon a ne pas faire trop grossir le fichier excel.
    Une sauvegarde de l'image compresser est realiser sur c:\mns

    Je vous laisse supprimer tout ce dont vous n'avez pas besoins (mettez en commentaires dans un premier temps)
    Fichiers attachés Fichiers attachés

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjours a tous

    remarquable ton petit module kegen08

    court et précis il y a eue tellement de bug au départ avec seven et WIA que je l'avais abandonné celle la

    nikel un bon petit point pour toi

    une petite remarque cependant

    quand tu obtiens un code relativement satisfaisant élimine le reste des modules et code impropre sinon c'est la bérézina et ca aide pas a la compréhension
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 7
    Par défaut re
    Merci de ces éléments,

    je vais potasser tous ça, essayer de l'appliquer a mes besoins.

    Mais la un grand pas à été franchis, dès que j'aurais terminé, je vous le ressoumettrais pour finaliser.

    Merci

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

Discussions similaires

  1. Demande de modification d'une fonction si et sierreur
    Par tarikov2006 dans le forum Excel
    Réponses: 2
    Dernier message: 16/11/2014, 14h50
  2. modification d'une insertion dans la base
    Par smiles dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 01/04/2010, 01h56
  3. Réponses: 1
    Dernier message: 29/03/2007, 10h46
  4. Modification d'une seule partie de l'image.
    Par darius1000 dans le forum Flash
    Réponses: 3
    Dernier message: 03/08/2006, 13h47
  5. [MySQL] Insertion d'image dans une base de données
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2006, 15h59

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