Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/09/2011, 14h34   #1
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut Déplacer une image d'une feuille vers une autre dans un fichier Excel

Bonjour à tous,

Voilà mon problème... J'ai un fichier Excel, avec une première feuille qui doit contenir une image différente selon que le contenu de l'une des cellules soit égale à 0 ou à 1. J'arrive à faire celà, lorsque les images sont stockées sur mon disque dur, mais je souhaiterais que les images soient stockées sur la feuille 2 car ce fichier sera utilisé par un grand nombre de personne sur un grand nombre de poste.

Merci d'avance...

Voilà le code que j'utilise jusqu'à présent :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub AjoutImageFeuille()
    Dim Shp As Shape
    Dim logo1 As String
    Dim logo2 As String
    Dim Cell As Range
 
    logo1 = "C:\image1.jpg"
    logo2 = "C:\image2.jpg"
 
    Set Cell = Range("test2")
    If Range("fédé") = "1" Then
    Set Shp = Feuil1.Shapes.AddPicture(logo1, msoFalse, msoCTrue, Cell.Left, Cell.Top, Cell.Width, Cell.Height)
    Else
    Set Shp = Feuil1.Shapes.AddPicture(logo2, msoFalse, msoCTrue, Cell.Left, Cell.Top, Cell.Width, Cell.Height)
    End If
End Sub
helenaide est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2011, 20h02   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Renomme tes images insérées en Feuil2: logo1 et logo2
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub AjoutImageFeuille()
Dim strImg As String
Dim Shp As Shape
Dim c As Range
 
Application.ScreenUpdating = False
With Feuil1
    strImg = IIf(.Range("fédé") = 1, "logo1", "logo2")
    For Each Shp In .Shapes
        If Shp.Name Like "logo*" Then Shp.Delete
    Next Shp
    Set c = .Range("test2")
    Feuil2.Shapes(strImg).Copy
   .Paste
    With .Shapes(.Shapes.Count)
        .Left = c.Left
        .Top = c.Top
        .Width = c.Width
        .Height = c.Height
    End With
    c.Activate
    Set c = Nothing
End With
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 14h27   #3
Invité de passage
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut Merci beaucoup

Merci beaucoup...
Ca fonctionne parfaitement...
helenaide est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h23.


 
 
 
 
Partenaires

Hébergement Web