Insérer plusieurs images dans un UserForm
Bzik59
Messages postés
32
Date d'inscription
Statut
Membre
Dernière intervention
-
Bzik59 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bzik59 Messages postés 32 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je veux insérer 4 images dépendants de 4 TextBox dans un UserForm avec le code suivant, qui me donne malheureusement soit 4 images d'un seul coup dans les quatre Image.Picture, soit ne donne aucune image.
Je veux que Chaque image.Picture soit en relation avec un TextBox. Par exemple: Si TextBox1.Value >0; l'image1 soit affichée dans Image1.Picture, Sinon pas d'image. même chose pour TextBox2 et Image2.Picture. etc
Je vous demande de m'aider, Merci à vous
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
.
aucun avatar Bzik
Nouveau venu
Nouveau venu
Messages: 1
Inscription: Hier, 20:19
Version Excel: 2010
Je veux insérer 4 images dépendants de 4 TextBox dans un UserForm avec le code suivant, qui me donne malheureusement soit 4 images d'un seul coup dans les quatre Image.Picture, soit ne donne aucune image.
Je veux que Chaque image.Picture soit en relation avec un TextBox. Par exemple: Si TextBox1.Value >0; l'image1 soit affichée dans Image1.Picture, Sinon pas d'image. même chose pour TextBox2 et Image2.Picture. etc
Je vous demande de m'aider, Merci à vous
Private Sub ComboBox1_Change() Dim Ligne As Long Dim I As Integer Ligne = Me.ComboBox1.ListIndex + 2 For I = 1 To 4 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1) Next I On Error GoTo Autre Image1.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox1 & ".jpg") Image2.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg") Image3.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg") Image4.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg") Exit Sub Autre: Image1.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg") Image2.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg") Image3.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg") Image4.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg") End Sub
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
.
aucun avatar Bzik
Nouveau venu
Nouveau venu
Messages: 1
Inscription: Hier, 20:19
Version Excel: 2010
A voir également:
- Insérer plusieurs images dans un UserForm
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide
- Insérer liste déroulante excel - Guide
- Insérer un tableau dans word - Guide
6 réponses
C'est reparti avec le Jordane qui pourtant m'avait fichu la paix après ses edit à la c#¤^ il y a quelque temps
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
DE QUOI TU TE MELES ?
1/ il existe une balise code qui reste disponible pour un choix de présentation, donc, je choisis ce qui me convient
2/ Dans beaucoup de zinzin "coloration syntaxique" la longueur des lignes dépasse le cadre il faut alors descendre et manoeuvrer pour lire ce qui est écrit en fin de ligne
il faut alors remonter jusqu'à la ligne maid là, on ne voit plus le début de la ligne !!!! très pratique
3/ Bien qu'il n'y ait pas de propriété intellectuelle du code indiquée, il est d'usage d'indiquer la source, c.ad apparament Caféine sur DVP (code d'ailleurs intéressant avec les regexp)
Pourtant, je croyais que tu avais compris mon aversion pour ce gadget suite à nos discussions houleuses
alors FICHE MOI LA PAIX UNE BONNE FOIS POUR TOUTES
A l'attention de Bzik:
Bonjour,
Suite à l'intervention intempestive de ce Monsieur Jordane, j'abandonne le suivi de notre discussion, dommage, mais j'en ras le bol de cet individu
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
DE QUOI TU TE MELES ?
1/ il existe une balise code qui reste disponible pour un choix de présentation, donc, je choisis ce qui me convient
2/ Dans beaucoup de zinzin "coloration syntaxique" la longueur des lignes dépasse le cadre il faut alors descendre et manoeuvrer pour lire ce qui est écrit en fin de ligne
il faut alors remonter jusqu'à la ligne maid là, on ne voit plus le début de la ligne !!!! très pratique
3/ Bien qu'il n'y ait pas de propriété intellectuelle du code indiquée, il est d'usage d'indiquer la source, c.ad apparament Caféine sur DVP (code d'ailleurs intéressant avec les regexp)
Pourtant, je croyais que tu avais compris mon aversion pour ce gadget suite à nos discussions houleuses
alors FICHE MOI LA PAIX UNE BONNE FOIS POUR TOUTES
A l'attention de Bzik:
Bonjour,
Suite à l'intervention intempestive de ce Monsieur Jordane, j'abandonne le suivi de notre discussion, dommage, mais j'en ras le bol de cet individu
Bonjour
1/
Image3.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg")
Image4.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg")
donc image 2,3, 4 sont les m^mes par la valeur de textbox 2 ?
2/ donne rien
si tu as une erreur dans un textbox, tous les controle image auront défaut jpg
il faut que l'erreur soit personnifiée sur chaque ligne de remplissage
par exemple
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Michel
1/
Image3.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg")
Image4.Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & TextBox2 & ".jpg")
donc image 2,3, 4 sont les m^mes par la valeur de textbox 2 ?
2/ donne rien
si tu as une erreur dans un textbox, tous les controle image auront défaut jpg
il faut que l'erreur soit personnifiée sur chaque ligne de remplissage
par exemple
For I = 1 To 4 Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1) On Error Resume Next controle image concerné par textbox conerné If Err.Number > 0 Then defaut.jpg dans controle image concerné End If On Error GoTo 0 Next I
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Michel
Bonjour Michel
Merci pour votre Réponse ci-vite.
J'ai changé le code par celui-la:
Private ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
Ligne = Me.ComboBox1.ListIndex + 2
For I = 1 To 4
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next I
For I = 1 To 4
On Error GoTo Autre
Me.Controls("Image" & I).Picture =LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
Next I
Exit Sub
Autre:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg")
End Sub
En changeant les valeurs TextBox, le problème c'est que Lorsque la ligne:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg")
s'exécute pour une image.Picture donnée, La ligne:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
ne s'exécute plus dans la suivante. elle garde l'image antérieur jusqu'à ce que l'image correspondante à cette Image.Picture se trouve dans le dossier C:\.... .
Cordialement
Merci pour votre Réponse ci-vite.
J'ai changé le code par celui-la:
Private ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
Ligne = Me.ComboBox1.ListIndex + 2
For I = 1 To 4
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next I
For I = 1 To 4
On Error GoTo Autre
Me.Controls("Image" & I).Picture =LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
Next I
Exit Sub
Autre:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg")
End Sub
En changeant les valeurs TextBox, le problème c'est que Lorsque la ligne:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\Defaut.jpg")
s'exécute pour une image.Picture donnée, La ligne:
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
ne s'exécute plus dans la suivante. elle garde l'image antérieur jusqu'à ce que l'image correspondante à cette Image.Picture se trouve dans le dossier C:\.... .
Cordialement
Je veux dire que pour un ComboBox donné, si les 3 premiers TextBox correspondants ne sont pas vides et si j'ai les 3 images correspondantes dans mon dossier "C:\....." alors les 3 images sont bien affichées.
Mais pour le suivant ComboBox qui ne donne que 2 TextBox non vides, alors les 2 images sont affichées dans les 2 premiers Image.Picture, tandis-que le 3ème garde la même image antérieur, jusqu'à ce que le 3ème TextBox Soit non vide.
Merci
Mais pour le suivant ComboBox qui ne donne que 2 TextBox non vides, alors les 2 images sont affichées dans les 2 premiers Image.Picture, tandis-que le 3ème garde la même image antérieur, jusqu'à ce que le 3ème TextBox Soit non vide.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai refait le code avec votre suggestion c'est beaucoup mieux sans afficher l'mage Défaut dans les Image.Picture, ça reste vides. mais le problème est toujours le même.
For I = 1 To 4
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next I
On Error Resume Next
For I = 1 To 4
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
Next I
Exit Sub
If Err.Number > 0 Then
End If
On Error GoTo 0
For I = 1 To 4
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1)
Next I
On Error Resume Next
For I = 1 To 4
Me.Controls("Image" & I).Picture = LoadPicture("C:\Users\bzik\Desktop\Rhita\" & Me.Controls("TextBox" & I) & ".jpg")
Next I
Exit Sub
If Err.Number > 0 Then
End If
On Error GoTo 0