titil64
Messages postés67Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 5 février 2007
-
22 janv. 2007 à 10:58
titil64
Messages postés67Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 5 février 2007
-
22 janv. 2007 à 16:14
bonjour ,j'ai une combobox1,avec trois element :
sboub
sboub1
sboub2
et une textbox1 multiligne
Quand je clique sur sboub il s'affiche dans la textbox multiligne en premier ligne
Quand je clique sur sboub2 il s'affiche dans la textbox multiligne en deuxieme ligne
par contre quand je reclic sur sboub je veux qu'il affiche un méssaege d'erreur , Comment ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 22 janv. 2007 à 14:47
salut,
voici un exemple (une manière parmis d'autres) en VB6
Option Explicit
Const iNbStr As Integer = 3
Private Type MonCombo
sStr As String
bDone As Boolean
End Type
Dim aChamps(1 To iNbStr) As MonCombo
'
'
Private Sub Form_Load()
'
clear
Combo1.Clear
Text1.Text = vbNullString
' on
charge le tableau
aChamps(1).sStr = "sboub1"
aChamps(2).sStr = "sboub2"
aChamps(3).sStr = "sboub3"
' on charge le
combo
Dim i As Integer
For i = 1 To iNbStr
aChamps(i).bDone = False
Combo1.AddItem aChamps(i).sStr
Next i
End Sub
'
'
Private Sub Combo1_Click()
Dim Index As Integer
Index = Combo1.ListIndex + 1
If aChamps(Index).bDone Then
' tu fais ce que tu
veux...
MsgBox "item déjà ajouté"
Else
aChamps(Index).bDone = True
Call AddLine(aChamps(Index).sStr)
End If
End Sub
'
'
Sub AddLine(sStr As String)
If LenB(Text1.Text) = 0 Then
Text1.Text = Text1.Text & sStr
Else
Text1.Text = Text1.Text & vbCrLf &
sStr
End If
End Sub
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 11:34
2 possibilités :
La plus logique :
un tableau à la dimension de ta combo
quand tu cliques sur un élément, tu donnes la valeur "x" à l'index de ce tableau et continues (chargement de la textbox) si l'index de ton tableau ne contient pas de valeur et tu continues (chargement de la textbox).
Si cet index de ton tableau contient déjà la valeur "x", par congtre, tu ne continues pas...
L'autre :
avant de charger ta textbox, tu vérifie (par instr) l'inexistence de la chaîne de caractères que tu vas insérer et ne le fais pas en cas d'existence...
Je préfère de loin la 1ère solution pour plusieurs raisons, dont la rapidité
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 22 janv. 2007 à 13:14
Salut,
pourquoi ne pas utiliser une ListBox à la place de ton Textbox en multiligne ? Je pense que cela est plus facile pour le maniement ?
A+
Exploreur
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 22 janv. 2007 à 13:31
Ce qu'il veut faire, Exploreur, ne peut avoir aucune utilité ! Il est donc clair qu'ilo ne s'agit là que d'un exercice scolaire, qui lui est imposé.
C'est la raison pour laquelle je me suis imposé de ne lui donner que des mécanismes, sans code (bien évidemment). Cet exercice est et doit demeurer au moins un peu le sien ...(et il est simple)
Vous n’avez pas trouvé la réponse que vous recherchez ?
titil64
Messages postés67Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 5 février 2007 22 janv. 2007 à 13:48
S'il te plait je te le dit je ne suis plus à l'école j'ai 28 ans et j'espere qu'à cette age, on a fini l'école
mais bon de toute façon je pense que tu ne me crois pas donc tant pis et ,
je suis en train d'éssayer avec une listbox plutot qu'un textbox.
jmfmarques,
merci pour ton approche mais j'ai éssayer avec Instr mais le probleme c'est qui me reconnais qu'un seul caractere a la fois c'est a dire pour sboub sboub2 et sboub3 il me le reconnait à cahque fois
titil64
Messages postés67Date d'inscriptiondimanche 25 avril 2004StatutMembreDernière intervention 5 février 2007 22 janv. 2007 à 15:28
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "sboub"
.AddItem "sboub2"
.AddItem "sboub3"
.AddItem "sboub4"
.AddItem "sboub5"
.AddItem "sboub6"
.AddItem "sboub7"
.AddItem "sboub8"
.AddItem "sboub9"
.AddItem "sboub10"
End With
en fait j'ai ça et qd uje clic dessus deux fois par exemple ou qu'il est déja dans la list je veux un message d'erreur
voila merci à toi