Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

Excel Forum d'entraide sur Excel

Réponse
 
Outils de la discussion
Vieux 03/10/2008, 11h54   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juin 2008
Messages: 24
Par défaut insérer des images

voila, j'ai des carte de membre, mais je voudrais que leur photo (en jpg) s'insere automatiquement lorsque je saisie leur nom et prenom.
mais je n'ai rien trouver qui le permette.
est-ce que quelqu'un a un debut de piste ?
bosk1000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 12h16   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 800
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Dans une feuille, dans un UserForm ?

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 13h16   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juin 2008
Messages: 24
Par défaut

dans une feuille, mais si c'est a faire que dans un userform, je peux toujours adapter
bosk1000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 13h40   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 800
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Re

Quelques pistes dans la Excel en faisant une recherche avec le mot image : http://excel.developpez.com/faq/inde...chercher=image

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 03/10/2008, 16h24   #5 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juin 2008
Messages: 24
Par défaut

je viens de regarder
il existe une methode avec gestionimage, ça me donne déjà un debut de piste, mais le probleme est que j'ai 600 photo a gerer et je peux pas les mettre sur une feuille de source comme dans l'exemple.

mon idée est comme j'ai une assiociation (exemple : la photo c001 dans le dossier e:\photo correspond a dupont marcel) est-ce que je peux l'afficher lorsque je saisie dans une cellule "dupont marcel" puisque j'ai un fichier excel ou pour chaque nom de fichier jpg, j'ai le nom et le prenom,

soit sur une page excel ou word, peu importe
bosk1000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/10/2008, 12h43   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 666
Par défaut

Bonjour,

A condition que le nom de tes images correspond au nom que tu introduits dans la cellule A1 (par exemple), tu peux essayer ceci :
Code à insérer dans le module de la feuille en question :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NomImg As String, Chemin As String, Pos As Range
 
If Target.Count = 1 And Target.Address = "$A$1" Then
    Application.ScreenUpdating = False
    Chemin = "E:\Photo\"
    NomImg = Target.Value & ".jpg"
    Set Pos = Range("B5:E15")
    
    On Error Resume Next
    ActiveSheet.Shapes("MonImage").Delete
    
    On Error Resume Next
    With ActiveSheet.Pictures.Insert(Chemin & NomImg)
        .Name = "MonImage"
        .Left = Pos.Left
        .Top = Pos.Top
        .Height = Pos.Height
        .Width = Pos.Width
    End With
End If
 
Set Pos = Nothing
Application.ScreenUpdating = True
End Sub

Cdlt
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/10/2008, 23h33   #7 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juin 2008
Messages: 24
Par défaut

merci
je teste lundi au bureau
bosk1000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2008, 12h55   #8 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juin 2008
Messages: 24
Par défaut

excellent
ton code fonctionne a merveille

par contre pour mieux comprendre

peux tu joindre une petite explication de texte car je comprend que des brides, j'aimerai comprendre le fonctionnement pour pouvoir mieux appliquer par la suite dans d'autre cas de figure
bosk1000 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 06/10/2008, 13h15   #9 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 666
Par défaut

Revoici le code avec quelques commentaires
Code :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NomImg As String, Chemin As String, Pos As Range
 
'Target = cible = cellule modifiée
If Target.Count = 1 And Target.Address = "$A$1" Then '<-- si la cible est A1 et uniquement A1
    Application.ScreenUpdating = False '<-- désactivation du rafraichissement de l'écran
    Chemin = "E:\Photo\" '<-- répertoire où sont stockées les photos
    NomImg = Target.Value & ".jpg" '<-- nom de la photo = valeur de A1 + extension jpg
    Set Pos = Range("B5:E15") '<-- initialisation d'une variable représentant la plage de cellule B5:E15, l'image sera dimensionnée et positionnée selon cette plage de cellules
    
    On Error Resume Next '<-- si pas d'image à supprimer on passe cette étape
    ActiveSheet.Shapes("MonImage").Delete '<-- suppression de l'image précédemment insérée
    
    On Error Resume Next '<-- si pas d'image, correspondante au nom dans A1, trouvée dans le répertoire on passe cette étape
    With ActiveSheet.Pictures.Insert(Chemin & NomImg) '<-- insertion de l'image selon le chemin et le nom définis ci-dessus
        .Name = "MonImage" '<-- nom de l'image insérée
        .Left = Pos.Left '<-- position horizontale = même position que la plage de cellule B5:E15
        .Top = Pos.Top '<-- position verticale = même position que la plage de cellule B5:E15
        .Height = Pos.Height '<-- hauteur = même hauteur que la plage de cellule B5:E15
        .Width = Pos.Width '<-- largeur = même largeur que la plage de cellule B5:E15
    End With
End If
 
Set Pos = Nothing '<-- libération de la mémoire
Application.ScreenUpdating = True '<-- réactivation du rafraichissement de l'écran
End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide