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 :

aide pour code (une deuxième image en même temps que la première) [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut aide pour code (une deuxième image en même temps que la première)
    Bonjour le forum;

    Voila mon PB.
    J'aimerais inserer une deuxième image (différente de la première) mais en même temps que la première correspondentes toute les deux à la personne dont je recherche les renseignements.Les images et les renseignements sont dans un USF
    je met un exemple en pièce jointe et le code.
    CODE de l'USF

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    Option Explicit
    Option Compare Text
     
    Dim maPageHtml As HTMLDocument
     
     
    Private Sub UserForm_Initialize()
        Dim NumCol As Integer, j As Integer
        Dim NumLig As Integer, k As Integer
        Dim Cell As Range
        Dim Image1 As String, Image2 As String
     
        '--- Spécifie les images qui s'affichent dans les noeuds.
            'Les images doivent être dans le même répertoire que le classeur.
            Image1 = ThisWorkbook.Path & "\redball.gif"
            Image2 = ThisWorkbook.Path & "\grnarrow.gif"
     
            'Supprime le contenu de l'ImageList
            Me.ImageList1.ListImages.Clear
     
            'chargement des images
            Me.ImageList1.ListImages.Add 1, "Img1", LoadPicture(Image1)
            Me.ImageList1.ListImages.Add 2, "Img2", LoadPicture(Image2)
            'Associe les images au TreeView
            Set Me.TreeView1.ImageList = Me.ImageList1
        '---
     
     
        'Boucle sur les éléments de la structure pour remplir le TreeView
        For Each Cell In Feuil2.Range("A1:A" & Feuil2.Range("N65533").End(xlUp).Row)
            NumCol = Cell.End(xlToRight).Column
            NumLig = Cell.Row
     
            If NumCol = 2 Then
                TreeView1.Nodes.Add , , "maClé" & NumLig & NumCol, _
                        UCase(Feuil2.Cells(NumLig, NumCol)), "Img1", "Img1"
                Else
                k = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).End(xlUp).Row
                j = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).Column
     
                'S'il s'agit d'un membre de l'équipe:
                '(Dans ce cas la colonne N contient la lettre "x")
                If Feuil2.Cells(NumLig, 14) = "x" Then
                    TreeView1.Nodes.Add _
                        "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                        Feuil2.Cells(NumLig, NumCol), "Img2", "Img2"
                    Else
                    'S'il s'agit d'un titre de service:
                     TreeView1.Nodes.Add _
                        "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                    UCase(Feuil2.Cells(NumLig, NumCol)), "Img1", "Img1"
                End If
            End If
        Next Cell
     
        TreeView1.Style = 5
    End Sub
     
     
     
     
    Private Sub UserForm_Activate()
        'Pour afficher l'UserForm en plein écran
     
        'With Me
            '.StartUpPosition = 3
            '.Width = Application.Width
            '.Height = Application.Height
            '.Left = 0
            '.Top = 0
        'End With
    End Sub
     
     
     
     
    'Déploie l'ensemble du TreeView si la checkBox
    '"Déployer la totalité de l'arborescence" est cochée.
    Private Sub CheckBox1_Click()
        Dim i As Byte
     
        If CheckBox1 Then
            'Boucle sur tous les noeuds du TreeView.
            For i = 1 To TreeView1.Nodes.Count
                TreeView1.Nodes.Item(i).Expanded = True
            Next
        Else
            For i = 1 To TreeView1.Nodes.Count
                TreeView1.Nodes.Item(i).Expanded = False
            Next
        End If
     
        'Positionne le 1er noeud dans la partie visible du TreeView
        TreeView1.Nodes.Item(1).EnsureVisible
    End Sub
     
     
     
    'Evenement Clic sur un élément du treeView.
    Private Sub TreeView1_Click()
        Dim leNom As String, Fichier As String
     
        'Vérifie si l'élément sélectionné correspond à une personne ou à un titre
        'de service.
        '(La colonne N contient la lettre "x" s'il s'agit d'une personne)
        If Feuil2.Cells(TreeView1.SelectedItem.Index, 14) <> "" Then
            'Affiche les informations sur la personne sélectionnée.
            Label2 = TreeView1.SelectedItem.Text
            Label3 = "Téléphone Travail : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 15)
            Label4 = "Téléphone Portable : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 16)
            Label7 = "Fonction : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 17)
            Label8 = "Situation Familliale : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 18)
            Label9 = "Date de Naissance : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 19)
            Label10 = "Adresse Maïl : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 20)
            Label11 = "Origine : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 21)
            'Label5 = "Fonction : " & TreeView1.SelectedItem.Parent
     
            leNom = TreeView1.SelectedItem.Text
                    'Définit l'image associée au nom sélectioné.
            Fichier = ThisWorkbook.Path & "\" & leNom & ".jpg"
     
                'Vérifie si le fichier image existe dans le répertoire
                If Dir(Fichier) <> "" Then
                    'Charge l'image si elle existe.
                    Image1.Picture = LoadPicture(Fichier)
                    Else
                    'Sinon fait le ménage dans le contrôle Image
                    Set Image1.Picture = Nothing         
                End If
        End If
     
    End Sub
     
     
     
     
    'Affichage du trombinoscope:
    '(Création d'une planche contact pour visualiser les images dans le WebBrowser)
    Private Sub CommandButton1_Click()
        Dim Fichier, Fichier2 As String
        Dim S As String, X As String, chemin As String
        Dim ProprietesImages As String
     
        If WebBrowser1.Visible = True Then
            WebBrowser1.Visible = False
            Label1.Visible = True
            CheckBox1.Visible = True
            CommandButton1.Caption = "Visualiser le trombinoscope"
            Exit Sub
        End If
     
        Label1.Visible = False
        CheckBox1.Visible = False
        WebBrowser1.Visible = True
        CommandButton1.Caption = "Visualiser l'organigramme"
     
        'Répertoire contenant le classeur
        chemin = ThisWorkbook.Path
        'Recherche des images jpg dans le repertoire
        Fichier = Dir(chemin & "\*.jpg")
     
        'Création d'une page html qui s'affichera dans le WebBrowser
        Open ThisWorkbook.Path & "\browserImage.html" For Output As #1
            Print #1, "<HTML>"
            Print #1, "<HEAD>"
            Print #1, "<TITLE>" & chemin & "</TITLE>"
     
            Do
                S = chemin & "\" & Fichier
                ProprietesImages = Left(Fichier, Len(Fichier) - 4)
     
                'création vignette
                X = "<A><IMG WIDTH=120 HEIGHT=120 SRC='" & S & _
                    "'ALT='" & ProprietesImages & "'></IMG></A>"
                'création vignette et lien hypertexte pour chaque image
                'X = "<A href='" & S & "'><IMG WIDTH=90 HEIGHT=90 SRC='" & S & _
                    "'ALT='" & ProprietesImages & "'></IMG></A>"
                Print #1, X
     
                Fichier = Dir
            Loop Until Fichier = ""
     
        Close #1
     
        'Affiche la page html dans le WebBrowser.
        WebBrowser1.Navigate ThisWorkbook.Path & "\browserImage.html"
     
    End Sub
     
     
     
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        'Suppression de la page html (si elle existe) lors de la fermerture de l'USF
        If Dir(ThisWorkbook.Path & "\browserImage.html") <> "" Then _
            Kill ThisWorkbook.Path & "\browserImage.html"
    End Sub
     
     
     
     
    'Cet évènement est déclenché lorsqu'une page est totalement chargée dans le WebBrowser:
    'Dans cet exemple, toutes les images de la page html sont prises en compte dans
    'le module de classe dès que la page est chargée.
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Dim Cl As Classe1
        Dim i As Integer
        Dim imgHtml As HTMLImg
     
        Set Collect = New Collection
        Set maPageHtml = WebBrowser1.Document
     
        'Boucle sur les images contenues dans le WebBrowser
        For i = 0 To maPageHtml.images.Length - 1
            Set imgHtml = maPageHtml.images.Item(i)
     
            'ajoute l'objet dans la classe
            Set Cl = New Classe1
            Set Cl.Imge = imgHtml
            Collect.Add Cl
        Next i
     
    End Sub
     
     
     
     
    Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _
        URL As Variant, Flags As Variant, TargetFrameName As Variant, _
        PostData As Variant, Headers As Variant, Cancel As Boolean)
     
        'Fait le ménage avant d'afficher une nouvelle page
        Set Collect = Nothing
        Set maPageHtml = Nothing
     
    End Sub

    Merci pour votre aide

  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
    bonsoir

    j'avoue que je ne comprend pas tres bien ton but (inserer une 2 eme image en meme temps )

    tu veux l'inserer ou ?

    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
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,


    N'imbrique pas les deux tests d'existences fichiers ... (dir...) tu en fait un .. puis l'autre ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    IF Dir Fich1 ... Then
     .. Affiche image1
      else
     .. 
     ENDIF 
     
    IF Dir Fich2 ... Then
     .. .. Affiche Image2
      else
     ..
     ENDIF

  4. #4
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut bonsoir
    Bonsoir

    patrick ma 2ème image sera inserer dans image2 de USF et se sera l'image du drapeau du pays de la personne en question au millieu des 3 images car la 1ère et la 3ème il y aura une image de fond qui ne changera pas meme si la personne change
    bbil je vais essayer mais l'image que j'aimerais inserer sera en rapport avec la colonne U dans mon exemple joint (message1)

  5. #5
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut bonjour
    bbil j'ai essayé mais ca ne fonctionne pas:

    Patrickquand j'ouvre mon fichier excel, j'appuis sur "afficher" et mon USF s'ouvre.
    Quand je clique sur (déployer la totalité de l'organigramme) en haut a droite, l'organigramme s'affiche a gauche, je clique sur un nom et les renseignements s'affiche a droite ainsi que la photo (image1) et j'aimerais que le drapeau du pays s'affiche (image2) et je ne sais pas quoi ajouter ou modifier dan mon code de l'USF .
    Merci pour votre aide a tout les deux

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par gilt83 Voir le message
    bbil j'ai essayé mais ca ne fonctionne pas:
    ...
    bien sur que ça fonctionne ... c'est juste qu'il y as une erreur dans ton code .

  7. #7
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut re
    rebonjour bbil,

    donc il faut que je trouve l'erreur??
    je vais le reregarder et si je n'y arrive pas j'espère que tu me donneras un indice
    merci

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    il faudrait surtout que tu poste ton code .. et que tu nous dise sur qu'elle erreur tu est stoppé et avec quel message d'erreur ..

  9. #9
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut bbil
    voila mon code
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    Option Explicit
    Option Compare Text
     
    Dim maPageHtml As HTMLDocument
     
     
    Private Sub UserForm_Initialize()
        Dim NumCol As Integer, j As Integer
        Dim NumLig As Integer, k As Integer
        Dim Cell As Range
        Dim Image1 As String, Image2 As String
     
        '--- Spécifie les images qui s'affichent dans les noeuds.
            'Les images doivent être dans le même répertoire que le classeur.
            Image1 = ThisWorkbook.Path & "\redball.gif"
            Image2 = ThisWorkbook.Path & "\grnarrow.gif"
     
            'Supprime le contenu de l'ImageList
            Me.ImageList1.ListImages.Clear
     
            'chargement des images
            Me.ImageList1.ListImages.Add 1, "Img1", LoadPicture(Image1)
            Me.ImageList1.ListImages.Add 2, "Img2", LoadPicture(Image2)
            'Associe les images au TreeView
            Set Me.TreeView1.ImageList = Me.ImageList1
        '---
     
     
        'Boucle sur les éléments de la structure pour remplir le TreeView
        For Each Cell In Feuil2.Range("A1:A" & Feuil2.Range("N65533").End(xlUp).Row)
            NumCol = Cell.End(xlToRight).Column
            NumLig = Cell.Row
     
            If NumCol = 2 Then
                TreeView1.Nodes.Add , , "maClé" & NumLig & NumCol, _
                        UCase(Feuil2.Cells(NumLig, NumCol)), "Img1", "Img1"
                Else
                k = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).End(xlUp).Row
                j = Feuil2.Cells(NumLig, NumCol).Offset(0, -1).Column
     
                'S'il s'agit d'un membre de l'équipe:
                '(Dans ce cas la colonne N contient la lettre "x")
                If Feuil2.Cells(NumLig, 14) = "x" Then
                    TreeView1.Nodes.Add _
                        "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                        Feuil2.Cells(NumLig, NumCol), "Img2", "Img2"
                    Else
                    'S'il s'agit d'un titre de service:
                     TreeView1.Nodes.Add _
                        "maClé" & k & j, tvwChild, "maClé" & NumLig & NumCol, _
                                    UCase(Feuil2.Cells(NumLig, NumCol)), "Img1", "Img1"
                End If
            End If
        Next Cell
     
        TreeView1.Style = 5
    End Sub
     
     
     
     
    Private Sub UserForm_Activate()
        'Pour afficher l'UserForm en plein écran
     
        'With Me
            '.StartUpPosition = 3
            '.Width = Application.Width
            '.Height = Application.Height
            '.Left = 0
            '.Top = 0
        'End With
    End Sub
     
     
     
     
    'Déploie l'ensemble du TreeView si la checkBox
    '"Déployer la totalité de l'arborescence" est cochée.
    Private Sub CheckBox1_Click()
        Dim i As Byte
     
        If CheckBox1 Then
            'Boucle sur tous les noeuds du TreeView.
            For i = 1 To TreeView1.Nodes.Count
                TreeView1.Nodes.Item(i).Expanded = True
            Next
        Else
            For i = 1 To TreeView1.Nodes.Count
                TreeView1.Nodes.Item(i).Expanded = False
            Next
        End If
     
        'Positionne le 1er noeud dans la partie visible du TreeView
        TreeView1.Nodes.Item(1).EnsureVisible
    End Sub
     
     
     
    'Evenement Clic sur un élément du treeView.
    Private Sub TreeView1_Click()
        Dim leNom As String, Fichier As String
        Dim Pays As String, Fichier2 As String
     
        'Vérifie si l'élément sélectionné correspond à une personne ou à un titre
        'de service.
        '(La colonne N contient la lettre "x" s'il s'agit d'une personne)
        If Feuil2.Cells(TreeView1.SelectedItem.Index, 14) <> "" Then
            'Affiche les informations sur la personne sélectionnée.
            Label2 = TreeView1.SelectedItem.Text
            Label3 = "Téléphone Travail : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 15)
            Label4 = "Téléphone Portable : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 16)
            Label7 = "Fonction à la DA : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 17)
            Label8 = "Situation Familliale : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 18)
            Label9 = "Date de Naissance : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 19)
            Label10 = "Adresse Maïl : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 20)
            Label11 = "Origine : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 21)
            Label12 = "Pays : " & Feuil2.Cells(TreeView1.SelectedItem.Index, 22)
            'Label5 = "Fonction : " & TreeView1.SelectedItem.Parent
     
            leNom = TreeView1.SelectedItem.Text
            Pays = Feuil2.Cells(TreeView1.SelectedItem.Index, 22)
            'Définit l'image associée au nom sélectioné.
            Fichier = ThisWorkbook.Path & "\" & leNom & ".jpg"
            Fichier2 = ThisWorkbook.Path & "\" & Pays & ".jpg"
     
                'Vérifie si le fichier image existe dans le répertoire
                If Dir(Fichier) <> "" Then
                    'Charge l'image si elle existe.
                    Image1.Picture = LoadPicture(Fichier)
                    Else
     
               End If
                 If Dir(Fichier2) <> "" Then
                    'Charge l'image si elle existe.
                    Image2.Picture = LoadPicture(Fichier2)
                    Else
     
                End If
     
                    'Sinon fait le ménage dans le contrôle Image
                    Set Image1.Picture = Nothing
                    Set Image2.Picture = Nothing
                End If
        End If
     
    End Sub
     
     
     
     
    'Affichage du trombinoscope:
    '(Création d'une planche contact pour visualiser les images dans le WebBrowser)
    Private Sub CommandButton1_Click()
        Dim Fichier, Fichier2 As String
        Dim S As String, X As String, chemin As String
        Dim ProprietesImages As String
     
        If WebBrowser1.Visible = True Then
            WebBrowser1.Visible = False
            Label1.Visible = True
            CheckBox1.Visible = True
            CommandButton1.Caption = "Visualiser le trombinoscope"
            Exit Sub
        End If
     
        Label1.Visible = False
        CheckBox1.Visible = False
        WebBrowser1.Visible = True
        CommandButton1.Caption = "Visualiser l'organigramme"
     
        'Répertoire contenant le classeur
        chemin = ThisWorkbook.Path
        'Recherche des images jpg dans le repertoire
        Fichier = Dir(chemin & "\*.jpg")
     
        'Création d'une page html qui s'affichera dans le WebBrowser
        Open ThisWorkbook.Path & "\browserImage.html" For Output As #1
            Print #1, "<HTML>"
            Print #1, "<HEAD>"
            Print #1, "<TITLE>" & chemin & "</TITLE>"
     
            Do
                S = chemin & "\" & Fichier
                ProprietesImages = Left(Fichier, Len(Fichier) - 4)
     
                'création vignette
                X = "<A><IMG WIDTH=120 HEIGHT=120 SRC='" & S & _
                    "'ALT='" & ProprietesImages & "'></IMG></A>"
                'création vignette et lien hypertexte pour chaque image
                'X = "<A href='" & S & "'><IMG WIDTH=90 HEIGHT=90 SRC='" & S & _
                    "'ALT='" & ProprietesImages & "'></IMG></A>"
                Print #1, X
     
                Fichier = Dir
            Loop Until Fichier = ""
     
        Close #1
     
        'Affiche la page html dans le WebBrowser.
        WebBrowser1.Navigate ThisWorkbook.Path & "\browserImage.html"
     
    End Sub
     
     
     
     
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
        'Suppression de la page html (si elle existe) lors de la fermerture de l'USF
        If Dir(ThisWorkbook.Path & "\browserImage.html") <> "" Then _
            Kill ThisWorkbook.Path & "\browserImage.html"
    End Sub
     
     
     
     
    'Cet évènement est déclenché lorsqu'une page est totalement chargée dans le WebBrowser:
    'Dans cet exemple, toutes les images de la page html sont prises en compte dans
    'le module de classe dès que la page est chargée.
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Dim Cl As Classe1
        Dim i As Integer
        Dim imgHtml As HTMLImg
     
        Set Collect = New Collection
        Set maPageHtml = WebBrowser1.Document
     
        'Boucle sur les images contenues dans le WebBrowser
        For i = 0 To maPageHtml.images.Length - 1
            Set imgHtml = maPageHtml.images.Item(i)
     
            'ajoute l'objet dans la classe
            Set Cl = New Classe1
            Set Cl.Imge = imgHtml
            Collect.Add Cl
        Next i
     
    End Sub
     
     
     
     
    Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, _
        URL As Variant, Flags As Variant, TargetFrameName As Variant, _
        PostData As Variant, Headers As Variant, Cancel As Boolean)
     
        'Fait le ménage avant d'afficher une nouvelle page
        Set Collect = Nothing
        Set maPageHtml = Nothing
     
    End Sub
    erreur de compilation et met en fond bleu [Image2-----.Picture = LoadPicture(Fichier2)]

  10. #10
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    le message est "erreur de compilation" ? tu as bien rajouté ton contrôle image sur ton userform ?

  11. #11
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Re
    Il y avais une erreur :
    au lieu "image2" il y avais "image5" j'ai modifier et maintenant il n'y a pas d'erreur mais les photos ne s'affiche pas?
    que veut tu dire par (rajouté ton contrôle image sur ton userform ? )
    merci

  12. #12
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben je parlais du contrôle Image2 ...


    tes 2 lignes sont mal placées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       Set Image1.Picture = Nothing
                    Set Image2.Picture = Nothing
    placent chacune d'elles dans la branche else correspondante (tes deux tests d'existence fichiers... voir ton code initial ...

  13. #13
    Membre confirmé
    Homme Profil pro
    magasinier
    Inscrit en
    Janvier 2012
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : magasinier
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2012
    Messages : 62
    Par défaut
    Re

    Merci de ton aide et aussi d'avoir fait travailler mes neuronnes
    ca fonctionne nickel
    Respect pour toi
    Doucement mais surement on y arrive surtout avec quelqu'un qui explique

    Ne changer rien MERCI encore à tous

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

Discussions similaires

  1. Redimensionnement d'une image en même temps que sa JFrame
    Par mandou1 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 22/06/2007, 12h04
  2. Réponses: 1
    Dernier message: 01/11/2006, 18h36
  3. [Debutant] Aide pour creer une classe image
    Par skwi6 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 08/10/2006, 14h37
  4. Et pour une deuxième image dans un formulaire ?
    Par Monbasinstinct dans le forum IHM
    Réponses: 4
    Dernier message: 22/09/2006, 16h54
  5. Besoin d'aide pour afficher une image dans un applet
    Par argon dans le forum AWT/Swing
    Réponses: 16
    Dernier message: 19/01/2006, 20h45

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