Pb sur UserForm
Re-Bonjour,
Suite au coup de main de BrunoM45
Deuxième petit souci (qui est apparu suite à l'ajout d'image), lorsque j'effectue une modification, l'UserForm plante. Et là, je dois bien avouer que j'ai aucune idée de quoi faire.
Par ailleurs, par rapport à ces images je n'arrive pas à obtenir totalement ce que je voudrais ! Suivant la sélection des Combobox elles se déplace correctement, cependant si je change la valeur des Combobox, la nouvelle image correspondante reste en dessous de l'ancienne et je ne peux de ce fait pas la voir ! Je pensais insérer un code qui la placerai au premier plan mais idem, malgré mes essais je ne parviens pas à modifier cela.
Quelqu'un aurais t'il l'amabilité de me sortir de mon impasse ?
Très cordialement, ;)
Eh bien étant tout nouveau utilisateur du codage VBA, il y'a certaines bases que je ne maitrise pas. C'est pourquoi je m'adresse à des gens bien plus compétent que moi sur ce forum
Je vais de ce pas modifier cela ! Merci pour l'info.
Re,
Quand on vous donne un fichier, soit on utilise le dernier donné,
soit on sélectionne tout le code d'un module ou USF (CTRL+A) on le copie entièrement
Puis on remplace celui de l'autre fichier, surtout que je ne sais si vous avez bien regardé, mais votre code est indenté (plus facile à lire)
Voici le nouveau
Pas de plantage concernant l'image
A+
En utilisant le dernier que vous me transmettez ( merci pour les msgbox en plus
Merci pour votre aide et désolé pour les erreurs de débutant, mais c'est ce que je suis ...
Re,
Lorsque vous modifiez le modèle, les Combobox sont effacés
For i = 2 To 5
Me.Controls("Combobox" & i).Clear
Next iDonc bug ici, puisque le TextBox est vide
Il faut donc mettre un test
Private Sub TextBox4_Change() 'Déplace une image suivant le résultat
Dim i%
' Si TextBox est vide, on sort
If Me.TextBox4.Value = "" Then Exit Sub
' sinon
For i = 1 To 28
Me.Controls("Image" & 0 + Me.TextBox4.Value).Left = 450
Next
On Error Resume Next
Me.Controls("Image" & 0 + Me.TextBox4.Value).Left = 200
End SubD'ailleurs en parlant de ça, le contenu de votre TextBox 4 doit être un chiffre, donc inutile de le mettre entre guillemets
A+
Bonjour,
Effectivement cela fonctionne, merci beaucoup.
Par contre je n'ai pas bien saisi :
D'ailleurs en parlant de ça, le contenu de votre TextBox 4 doit être un chiffre, donc inutile de le mettre entre guillemets
J'ai essayé d'enlever les guillemets comme suit :
Private Sub TextBox4_Change() 'Déplace une image suivant le résultat
Dim i%
' Si TextBox est vide, on sort
If Me.TextBox4.Value = Then Exit Sub
' sinon
For i = 1 To 28
Me.Controls("Image" & 0 + Me.TextBox4.Value).Left = 450
Next
On Error Resume Next
Me.Controls("Image" & 0 + Me.TextBox4.Value).Left = 200
End SubMais du coup, ça fait une erreur ...
Re,
J'ai précédemment demandé un coup de main pour le contrôle d'image suivant le résultat d'une Combobox. le fichier s'y référent est : combo_image_1.xlsm
Aujourd'hui le fichier à évolué et ce n'est plus d'après une Combobox mais d'après une TextBox que les images sont contrôlées : combo_image_2.xlsm
Explication : Dans le premier fichier si la Combobox était égal à 1 alors l'image 1 se déplaçait vers la droite. Si la Combobox passait à 2 alors l'image 1 revenait à son point de départ et l'image 2 se déplaçait vers la droite, ainsi de suite ...
Maintenant si la valeur de la TextBox change, l'image précédente ne revient pas à son point de départ, ce qui fait que je ne peux pas voir toutes les images. J'ai essayé de repasser sur une Combobox pour voir si le problème venait du fait qu'il s'agisse d'une TextBox, mais j'ai toujours le même problème. Je suppose donc que cela vient du code ...?
Merci d'avance.
Bonjour,
Je n'ai pas trop encore analysé votre fichier mais de base je ne comprends pas pourquoi vous mettez vos images dans l'USF
C'est compliqué cela d'autant qu'en cas de mise à jour il faudra aller modifier dans l'usf....
Ce que vous devriez plutot faire, c'est créer un répertoire dans le dossier où votre fichier se trouve et y placer les images
Nommer les images en fonction de la valeur de votre textbox1
Ensuite rien de plus simple que d'appeler l'image depuis la textbox ou combobox
Cela change un peu le projet mais est nettement plus simple à gérer en cas de modification
Votre avis ?
Cordialement
Bonjour,
Je suis bien d'accord pour la simplicité mais c'est justement ce que je souhaite éviter car ce fichier à pour but d'être utilisé par plusieurs personnes sur différents postes à différents endroit. Pour certains relié par réseau continuellement, pour d'autres occasionnellement voir pas du tout.
Du coup je souhaite que le fichier Excel soit totalement autonome et ne fasse appel à aucun lien externe.
Cordialement,
Bonjour Sotin,
Je parlais de çà
'Legrabox
Select Case Me.TextBox3.Value
Case Is = "LegraboxN"
Me.TextBox4.Value = "1"
Case Is = "LegraboxM"
Me.TextBox4.Value = "2"
...Ou il suffit de mettre
...
Me.TextBox4.Value = 1
...Je vous laisse entre les mains de Dan, qui est certainement plus patient que moi
Re,
Ok pour les guillemets c'est changé.
Concernant le déplacement des images, j'ai finalement trouvé la solution pour combiner toutes les conditions ! je transmets le code pour ceux que ça pourrait intéresser. A adapter suivant l'outil directeur et le nombre d'image évidemment ;)
Private Sub TextBox4_Change()
Dim i%
For i = 1 To 19
Me.Controls("Image" & i).Left = 450
Next
On Error Resume Next
Me.Controls("Image" & 0 + Me.TextBox4.Value).Left = 200
End SubMerci pour les coup de main et A +

