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 :

[VBA-E] image dans boîte de dialogue


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut [VBA-E] image dans boîte de dialogue
    Bonjour,

    je voudrais savoir s'il était possible de rajouter une image dans une boîte de dialogue... merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     With Worksheets(1).Range("a:a")
        Set c = .Find(mot, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                sResult = sResult & c.Value & vbCrLf
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    j'affiche une certaine liste dans une boîte qui apparaît à l'écran... Je voudrais savoir si je pouvais rajouter une photo pour chaque résultat... Mes photos sont sockées à un endroit précis donc je connais le chemin d'accès. De plus, est-il possible de la redimensionner...

    merci d'avance pour toutes vos réponses

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si j'ai bien compris, tu veux ajouter une image pour chaque ligne de sResult...
    Comment se présente ta "boîte de dialogue" ? Est un Userform ?
    Si oui, tu peux en effet ajouter une "Picture" pour chaque image, dimensionner et positionner chaque Picture, insérer une image et faire en sorte qu'elle soit affichée sans être déformée...
    Mais on manque d'infos. Précise ta demande
    A+

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    voila tout le programme :

    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
    Sub ecrire_mot()
     
      Dim wk As Workbook
      Dim c As Range ' Resultat de la recherche
      Dim mot As String, sResult As String
      mot = InputBox("saisissez la recherche")
      Dim f As Worksheet 'Feuille dans laquelle effectuer la rechercher
      Application.ScreenUpdating = False
      'Ouverture du classeur :
      Set wk = Workbooks.Open("file://localhost/users/sebneb/Desktop/liste DVD/LISTEDVD.xls")
      'Effectue recherche dans 1° feuille du classseur
      Sheets(1).Visible = False
       Set c = wk.Sheets(1).Cells.Find(What:=mot, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
            xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
     
     
         With Worksheets(1).Range("a:a")
        Set c = .Find(mot, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                sResult = sResult & c.Value & vbCrLf
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
     
    End With
        If sResult <> "" Then
            MsgBox sResult
        Else
           MsgBox mot & " Introuvable"
        End If
        wk.Close False ' Fermetur de classeur sans sauvegarde...
       Application.ScreenUpdating = False  'Réactive l'affichage
    End Sub
    j'ai cherché ce qu'était une useform mais je n'ai toujours pas compris... donc j'espère que le code pourra t'aider à résoudre mon problème...

    j'affiche mon sresult dans une msgbox...

    @+

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    D'après ta réponse, tes images sont à insérer dans une feuille de calculs... Alors, qu'appelles-tu "Boîte de dialogue" ? Si c'est le msgbox, alors non, tu ne peux pas afficher ta propre image dans un msgbox. Mais tu as une autre solution, l'utilisation d'un userform pour fabrique ta boîte de dialogue
    Tu dis
    A+

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    en effet ma boîte de dialogue était ma msgbox...

    sinon je suis preneur de toutes les idées permettant d'arriver à ce que je veux... je suis débutant donc je ne connais pas toutes les ficelles de cette programmation...

    donc si t'as une idée je suis preneur... par contre mes résultats ne s'affichent pas dans une feuille de calcul... je les affiche directement dans la msgbox...
    si t'as une solution pour faire l'opération que je faisais avant + pouvoir rajouter une photo avec pour chaque ligne de mes résultats je suis partant...

    merci

  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 sebneb
    .....
    j'ai cherché ce qu'était une useform mais je n'ai toujours pas compris...
    ...
    Utiliser les UserForm en VBA Excel

    et le contrôle image

    II-K. Image



  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok, pour l'userform, on a tous commencé par là, un userform dans lequel on veut mettre des choses.
    Pour ça, dans l'éditeur VB, vas dans "Insertion" -> "Userform"
    Tu as une fenêtre et une boîte à outils qui s'affiche.
    Pour le résultat, insère un TextBox
    Pour l'image, insère une image
    Pour afficher le "résultat", la syntaxe est
    Textbox1.text = LeRésultat
    Pour insérer une image dans ton image, en supposant que mon image s'appelle "Statue.bmp" et qu'elle se trouve dans "D:\Dessins\", c'est
    Image1.picture= LoadPicture("D:\Dessins\Statue.bmp")
    Ensuite il te reste à insérer le code
    Dans un module standard,
    En tête de module, avant Sub ecrire_mot(), Déclare sResult en Public
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public sResult as string
    Sub ecrire_mot()
    Ensuite tu modifies ces seules lignes de ta macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        If sResult <> "" Then
            'A la place de MsgBox sResult tu mets
            Load Userform1
            Userform1.show
        Else
           MsgBox mot & " Introuvable"
        End If
        wk.Close False ' Fermetur de classeur sans sauvegarde...
       Application.ScreenUpdating = False  'Réactive l'affichage
    End Sub
    Rien d'autre à modifier

    Dans l'userform :
    Fais deux clics sur l'userform pour afficher la fenêtre de code
    Dans la liste en haut et à droite, tu as les événements de l'userform.
    Sélectionne "Initialize"
    mets ton code dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private sub Userform_Initialize()
    TextBox1.text = sResult
    Image1.picture= LoadPicture(LeChemin & LeNomDuFichier.jpg)
    End sub
    Commence par là, tu vas découvrir un nouveau monde qui te permettra de venir plus souvent sur le forum
    A+

  8. #8
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    j'ai fait exactement comme tu m'as dit... j'ai la userform qui apparaît lorsque j'exécute le programme mais il n'y a pas d'insérer ma recherche dans la userform...

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Désolé mais je dois partir, je te laisse avec bbil
    Bon courage et cherche un peu par toi-même

  10. #10
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    merci pour ton aide... t'inkiet je cherche aussi de mon côté... ça fait 1 heure que j'essaye des choses pour voir apparaître ma liste recherchée dans la userform...

    mais bon, c'est possible donc je dois pouvoir y arriver...

  11. #11
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    c'est bon, j'ai réussi à afficher ma liste... par contre je voudrais qu'elle conserve les mêmes paramètres...

    normalement ma liste s'affiche comme cela :

    a
    e
    za
    eerrr


    et là en utilisant le userform je l'obtiens ainsi :

    a e za eerrr
    avec le signe de la touche "entrée" entre chaque lettre... donc comment faire pour avoir chaque mot à la ligne...

    merci d'avance

  12. #12
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sResult = sResult & c.Value & vbCrLf
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sResult = sResult & c.Value & vbLf
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  13. #13
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    nan malheureusement j'ai effectué le changement et j'obtiens toujours la même chose...

  14. #14
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Dans quel type de contrôle affiches-tu ton résultat?

    Edit -> Je viens de voir ce que ousk t'a expliqué.

    Ta TextBox a-t-elle sa propriété Multiline à True?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  15. #15
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    j'avais essayé d'utiliser le multiline mais je l'avais mal placé... mais l'affaire est résolue... maintenant il faut que j'insère une image...

    est ce que les ".jpg" sont acceptés car cela ne marche pas avec le code de ouskel'n'or???

  16. #16
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    Voici mon code pour insérer une image...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize()
     Dim Fichier As String
    Fichier = "file://localhost/users/sebneb/Desktop/liste_DVD/jaquettes/OSS117.jpg"
    With TextBox1
            'Autorise les mutilignes dans le TextBox
            .MultiLine = True
            'Spécifie que la touche ENTRÉE ajoutera une nouvelle ligne.
            .EnterKeyBehavior = True
            Image1.Picture = LoadPicture(Fichier)
            TextBox1.Text = sResult
        End With
    End Sub
    lorsque j'exécute le programme j'ai une erreur d'exécution 53

    donc j'aimerais savoir comment m'en sortir de cette erreur...

    merci d'avance

  17. #17
    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
    sur qu'elle ligne l'erreur ...? revoi aussi ton utilisation de With...? que fais Picture... à l'intérieur de celui-ci..?

  18. #18
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    Citation Envoyé par bbil
    sur qu'elle ligne l'erreur ...? revoi aussi ton utilisation de With...? que fais Picture... à l'intérieur de celui-ci..?
    l'erreur a lieu sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture = LoadPicture(Fichier)

    ensuite Picture se trouve là car c'est la dernière utilisation que j'ai copié... j'ai testé de la placer un peu partout... voila...

  19. #19
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Remplace
    Fichier = "file://localhost/users/sebneb/Desktop/liste_DVD/jaquettes/OSS117.jpg"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier = "//localhost/users/sebneb/Desktop/liste_DVD/jaquettes/OSS117.jpg"
    A+

    Edit
    Corrige ton code comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Fichier = "//localhost/users/sebneb/Desktop/liste_DVD/jaquettes/OSS117.jpg"
         With TextBox1
            'Autorise les mutilignes dans le TextBox
            .MultiLine = True
            'Spécifie que la touche ENTRÉE ajoutera une nouvelle ligne.
            .EnterKeyBehavior = True
            .Text = sResult
        End With
        Image1.Picture = LoadPicture(Fichier)

  20. #20
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 38
    Par défaut
    j'ai essayé la modif mais ça ne marche pas... je vais essayer de trouver autrement... encore merci

Discussions similaires

  1. [2.x] upload image dans une fenetre dialogue
    Par MehrezLabidi dans le forum Symfony
    Réponses: 0
    Dernier message: 25/01/2015, 12h13
  2. [WD12] Lien dans boîte de dialogue
    Par Nzs26 dans le forum WinDev
    Réponses: 9
    Dernier message: 19/05/2010, 18h01
  3. Réponses: 3
    Dernier message: 10/01/2008, 22h09
  4. Intégrer une image dans une boîte de dialogue
    Par Morpheo dans le forum LabVIEW
    Réponses: 6
    Dernier message: 14/05/2007, 18h56
  5. [VBA - ACCESS] - Images dans une base de données
    Par fredhali2000 dans le forum Access
    Réponses: 1
    Dernier message: 22/02/2006, 10h22

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