Changement automatique de gif avec conditions

Ben Becker

XLDnaute Nouveau
Bonjour,

j'ai un petit problème à vous soumettre : je voudrais afficher des gifs différents en fonction de la valeur de ma cellule U3 (valeurs possibles :1,2,3,4,5).
Le code que j'ai appliqué pour le webbrowser fonctionne à ceci près qu'à chaque fois que la valeur de U3 change, le gif ne se met pas à jour directement : il faut que j'aille cliquer sur Executer dans vba, et là le nouveau gif apparait.

Existe-t'il un moyen de faire apparaitre le gif dès le changement de cellule sans devoir intervenir ?

Ci-dessous le code utilisé :

Private Sub Worksheet_Activate()
If Sheets("Feuil1").Cells(3, 21).Value = 1 Then
WebBrowser1.Navigate "D:\documents\...\gif1.GIF"
End If
If Sheets("Feuil1").Cells(3, 21).Value = 2 Then
WebBrowser1.Navigate "D:\documents\...\gif2.GIF"
End If
If Sheets("Feuil1").Cells(3, 21).Value = 3 Then
WebBrowser1.Navigate "D:\documents\...\gif3.GIF"
End If
If Sheets("Feuil1").Cells(3, 21).Value = 4 Then
WebBrowser1.Navigate "D:\documents\...\gif4.GIF"
End If
If Sheets("Feuil1").Cells(3, 21).Value = 5 Then
WebBrowser1.Navigate "D:\documents\...\gif5.GIF"
End If
End Sub

Private Sub webBrowser1_documentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.body.Scroll = "no"
WebBrowser1.Document.body.TopMargin = 0
WebBrowser1.Document.body.BottomMargin = 0
WebBrowser1.Document.body.LeftMargin = 0
WebBrowser1.Document.body.RightMargin = 0
WebBrowser1.Document.body.Style.BorderStyle = "none"
WebBrowser1.Document.bgColor = RGB(153, 204, 255)
End Sub


Merci par avance

Ben
 

Ben Becker

XLDnaute Nouveau
Re : Changement automatique de gif avec conditions

bonjour jmd2,

je comprend ce que tu veux dire mais je n'arrive pas à l'écrire, étant en début d'apprentissage de vba. Je m'imagine quelque chose comme ca :

Private Sub Worksheet_Activate()
If Sheets("Feuil1").Cells(3, 21).Value = 1 Then
WebBrowser1.Navigate "D:\documents\...\gif1.GIF"
End If

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set ad = ActiveCell
End Sub

mais sans succès

Ben
 

jmd2

XLDnaute Accro
Re : Changement automatique de gif avec conditions

re hello

ton code changement de GIF fonctionne n'est-ce pas.

il faut le déclencher au bon moment

Excel permet d'associer un traitement à un évènement.
je sais faire si l'objet est un contrôle (clic droit donne accès)
mais je patauge pour les cases ordinaires !
désolé

qui pour doner un coup de main ?
 

Ben Becker

XLDnaute Nouveau
Re : Changement automatique de gif avec conditions

Bonjour le forum,

après de nombreux essais, tous ponctués d'échec, je m'en remet à votre savoir ou plutot j'aimerais savoir si automatiser un gif dès le changement de valeur d'une cellule est réalisable : la réponse me permettrait d'arreter de m'acharner sur ce pauvre vba qui ne veux définitivement pas de mes codes indigestes (en même temps c'est aussi comme cela que l'on apprend....).

Merci par avance

Ben
 

Ben Becker

XLDnaute Nouveau
Re : Changement automatique de gif avec conditions

Bonjour le forum, Excel Lent

merci pour ta réponse, cela fonctionne nikel, enfin....presque.

En effet si je rentre dans la cellule U1, je change la valeur (ex : je rentre 2 à la place de 4) le gif correspondant apparait instantanemment.

Par contre (j'aurais surement du le préciser, désolé) dans ma cellule U1, j'ai une formule (=RECHERCHE(9^9;U2:U1001)+1) et c'est donc le résultat de cette formule qui est compris entre 1 et 5...et quand celui-ci change, le gif ne suit pas.

Est-ce que je peux donc conserver cette formule tout en obtenant l'automatisation du gif ?

Merci pour votre contribution.

Ben
 

Fanfan68

XLDnaute Junior
Re : Changement automatique de gif avec conditions

Bonjour tout le monde,

J'aurai à ce sujet, une question subsidiare, Ben becker à mis dans son code plusieurs propriètés concernant la manière d'afficher le webbrowser voir ci-dessous :

"Private Sub webBrowser1_documentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.body.Scroll = "no"
WebBrowser1.Document.body.TopMargin = 0
WebBrowser1.Document.body.BottomMargin = 0
WebBrowser1.Document.body.LeftMargin = 0
WebBrowser1.Document.body.RightMargin = 0
WebBrowser1.Document.body.Style.BorderStyle = "none"
WebBrowser1.Document.bgColor = RGB(153, 204, 255)
End Sub"

Ma question est la suivante, existe t-il une proprièté qui ajusterait automatiquement le webbrowser à la taille du gif ouvert ou/et une propriété qui centrerait dans le webbrowser, automatiquement le gif ouvert ?

Merci à tous
 

Spitnolan08

XLDnaute Barbatruc
Re : Changement automatique de gif avec conditions

Bonjour le fil,
Ma question est la suivante, existe t-il une proprièté qui ajusterait automatiquement le webbrowser à la taille du gif ouvert
Non malheureusement... Pour cela, il faut utiliser le contrôle gif89
ou/et une propriété qui centrerait dans le webbrowser, automatiquement le gif ouvert ?
Non plus : une piste consiste à déterminer la largeur et la hauteur de l'image et à la placer en jouant sur les marges mais ça ne fonctionne pas à tous les coups.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 554
Messages
2 089 535
Membres
104 205
dernier inscrit
mehaya63