link78180
Messages postés35Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention22 décembre 2004
-
23 nov. 2004 à 18:59
link78180
Messages postés35Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention22 décembre 2004
-
24 nov. 2004 à 14:14
Salut.
Hier, j'ai acheté un livre sur le Visual Basic, apprenant les bases etc... là j'en suis à la partie concernant les structures de contrôles For Each ... Next, et je n'y comprend rien du tout, malgré l'explication donnée ds le livre.
Un exemple à été donné, j'ai compris le but de la fonction, mais je ne comprend absolument pas la syntaxe du code, ses variables, enfin le code quoi.
Private Sub cmdRech_Click()
Dim Motif As String
Dim Elt As Variant
Dim trouve As Boolean
trouve = False
Motif = InputBox("Chercher le motif " & _
"(Préfix ou Suffixe) suivant :")
For Each Elt In txtMotif
If StrComp(Motif, Elt.Text) = 0 Then
MsgBox "Motif trouvé", vbkoonly, _
"Résultat de la recherche"
trouve = True
Exit For
End If
Next
If Not trouve Then
MsgBox "Motif non trouvé", vbOKOnly, _
"Résultat de la recherche"
End If
For Each Elt In txtMotif
Elt.Text = ""
Next
End Sub
Ceci représente un programme ou l'on doit taper 2 mots dans 2 TextBoxs, étant dans un groupe de contrôle. Si on clique sur Rechercher, une invite est ouverte, nous permettant de taper le mot à rechercher dans les 2 cases, puis quand on clique sur OK, le programme nous dit si il a trouvé le mot ou pas dans les 2 cases.
Voilà, alors SVP, expliquez-moi un peu comment ca fonctionne, au niveau du code. Je vous en remercie d'avance.
cs_Benouille
Messages postés215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention 7 septembre 2007 23 nov. 2004 à 21:21
il y a plusieurs types de boucles, le for each en est une.
en français ce la donne:
For Each Elt In txtMotif
Pour Chaque Element dans motif
...
Next
suivant
autrement dit, il parcourt tous les Elt de Motif
y a effectivement une erreur puisque motif devient txtmotif on ne sait pas trop pourquoi.
le for each est utile quand tu ne connais pas le nombre d'éléments et que tu veux tous les parcourir.
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 23 nov. 2004 à 22:48
Private Sub cmdRech_Click()
Dim Motif As String
'Là tu dimensionne Motif en chaine de caractère
Dim Elt As Variant
'Un Variant peu contenir n'importe quoi string, tableau,
'objet il utilise beaucoup de resource
Dim trouve As Boolean
'Un Boolean peu avoir deux valeurs True vrai ou Fasle Faux
'il utilise un bit
trouve = False
'Là tu affecte à trouve la valeur Fasle ou si tu préfère Faux
Motif = InputBox("Chercher le motif " & _
"(Préfix ou Suffixe) suivant :")
'InputBox est une fonction qui va te servir a rentrer une valeur au clavier, cette valeur va se retrouvée dans Motif pour avoir des info mets le curseur sur inputbox et tappes F1
For Each Elt In txtMotif
If StrComp(Motif, Elt.Text) = 0 Then
MsgBox "Motif trouvé", vbkoonly, _
"Résultat de la recherche"
trouve = True
Exit For
End If
Next
Pour la boucle tu as les explications plus haut
Msgbox et une fonction qui ouvre une boite de message
If Not trouve Then
MsgBox "Motif non trouvé", vbOKOnly, _
"Résultat de la recherche"
End If
For Each Elt In txtMotif
Elt.Text = ""
Next
End Sub
Dans tous les cas il ne faut pas hésiter à utiliser l'aide en ligne _______________________________________