Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

insertion image automatique

gourdin

XLDnaute Impliqué
Bonjour,

(Excel 2000 utilisé)

Je souhaiterais, à l'aide d'un bouton (macro) réaliser les actions suivantes :

1. Apparition d'un court message d'explication inclu dans une boite de dialogue. Celle boite de dialogue permettrait de rechercher
un fichier image quelconque sur l'ordinateur.

2. Insertion de l'image choisie dans un emplacement particulier
et avec une taille particulière sachant que la page est protégée

Cela fait peut être beaucoup de choses à la fois

Merci de votre aide

Voir fichier exemple
 

Pièces jointes

  • exemple inserer image.xls
    14.5 KB · Affichages: 139

Paritec

XLDnaute Barbatruc
Re : insertion image automatique

Boujour JCGL, Gourdin, le forum,
Je n'ai qu'un mot à dire à JCGL BRAVO
c'est trés bien et je vais garder cela bien au chaud dans mes notes
a+
bon week-end
Papou
 

JCGL

XLDnaute Barbatruc
Re : insertion image automatique

Re,

Merci Paritec ,
Que ce soit le fichier de ftho ou le mien, l'effacement de l'image n'est pas gérée lors d'un changement.

Si tu le souhaites, je redépose avec le code revu pour l'effacement ...

A+
 

ftho

XLDnaute Occasionnel
Re : insertion image automatique

Remarque judicieuse JCGL, je n'ai pas pensé non plus à l'effacement de l'image présente en cas de chargement d'une nouvelle. Si on fait 5 essais avant de trouver la bonne image on se retrouve avec 5 images superposées...

Ci-joint fichier avec effacement de l'image déjà insérée et correction petit bug en cas d'annulation de l'insertion


FICHIER
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : insertion image automatique

Re,

ftho : ne crois surtout pas que je t'en veuille (cf. Avatar de R...) mais pourquoi déposes-tu sous CJoint, je pense que tu n'es pas sans savoir que la dépose est éphémère ?

Au plaisir de te croiser
A+ à tous
 

JCGL

XLDnaute Barbatruc
Re : insertion image automatique

Re,

Comme l'ami ftho a déposé, je dépose aussi .
Bien évidement sans notion de "compétition" mais il me semble que mon code est plus court (euh, je ne devrais par dire ça, "d'autres" vont encore le raccourcir...)

A+ à tous
 
Dernière édition:

ftho

XLDnaute Occasionnel
Re : insertion image automatique

ftho : ne crois surtout pas que je t'en veuille (cf. Avatar de R...) mais pourquoi déposes-tu sous CJoint, je pense que tu n'es pas sans savoir que la dépose est éphémère ?

Oui oui je sais, le fichier peut être récupéré durant 14 jours ce qui est amplement suffisant et si pas, on peut toujours me contacter pour que je le reposte
Cjoint autorise des fichiers de 500Ko et c'est une habitude que j'ai prise de passer par là via d'autres forums

Et pour tout t'avouer...ça me saoule de gérer mon espace dispo de pièces jointes

Concernant le code pour insérer une image, le tien est mieux, j'ai du bricoler pour éviter le message d'erreur en cas d'annulation mais je constate maintenant qu'il me manque des arguments dans Application.GetOpenFilename


Bonne fin de soirée
 

ftho

XLDnaute Occasionnel
Re : insertion image automatique

aaaah hockey...la pluspart des forums allouent un espace, je n'ai pas cherché plus loin pour connaître ma capacité de stockage.

Merci pour l'info
 

Spitnolan08

XLDnaute Barbatruc
Re : insertion image automatique

Bonsoir le fil,
Salut JCGL ,
Je te guette mais ne sais si je serais là pour ton passage en classe supérieure... Tu me préviendras si je te loupe...

Pour en revenir au fil, j'ai raccourci ton code (1 ligne mais surtout en nombre de caractères...
Et j'ai ajouté une modification pour que seule la photo concernée soit effacée et qu'on évite un select inutile ou presque en VBA.
Code:
Sub bInsert_Image()
Dim Choix
With ActiveSheet
    .Unprotect

    Choix = Application.GetOpenFilename("Fichier image(*.gif;*.jpg;*.bmp),*.gif;*.jpg;*.bmp" _
    , , "Choix de l'image", , False)
    If Choix = False Then Exit Sub
    On Error Resume Next
    .Shapes("NewPhoto").Delete
    .Pictures.Insert(Choix).Name = "NewPhoto"
    With .Shapes("NewPhoto")
        .Left = Range("B6").Left
        .Top = Range("B6").Top
        .Height = Range("B6").Height
        .Width = Range("B6").Width
    End With
    
    .Protect
End With
End Sub
Cordialement

PS : Ftho, je t'ai déjà signalé de ne pas utiliser cjoint : Tu ne resteras paut être pas éternellement sur XLD et dans ce cas tes interventions n'auront plus de sens pour personne sans le fichier attaché... Penses y Penses Y....
 

JCGL

XLDnaute Barbatruc
Re : insertion image automatique

Re,
Salut mon ami Spit ,

Le traitre... C'est de toi que vient le "raccourci" de mon code .

Je te pardonne, tu n'es qu'un gamin (euh par l'âge s'entend... pour la valeur, tu sais bien qu'elle n'attend le nombre des années arf arf )

A+ mon cher Spit
A+ à tous
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…