(résolu) Boucle For each sur textbox dans userform

Boucle For each sur textbox dans userform (résolu) - VB/VBA/VBS - Programmation

Marsh Posté le 18-10-2005 à 16:07:48    

Bonjour à tous
 
Je travaille sous VBA excel 2002
 
Pour situer le projet, j'ai un userform, avec un premier multipage1 de 4 pages. Dans la page 2 de ce multipage1, j'ai un autre multipage2 de 3 pages et je travaille là le code de la pages(2).
 
au total pour l'instant j'ai 11 Textbox dans l'userform nommées de TB01 à TB11
dont sur la multipage2.pages(2) j'ai les textbox de TB03 à 11 inclus.
au moment du changement de valeur dans l'un des TB05 à 10 je dois vérifier que la valeur n'est pas identique à celle de l'un des autres TB. J'ai donc placé ce code :

Code :
  1. Private Sub TB05_Change()
  2.           Dim TB As TextBox
  3.           For Each TB In UserForm01.MultiPage2.Pages(2)
  4.                If TB05.Value = TB.Value Then
  5.                     MsgBox ("Vous avez déjà défini un élément en " & TB05.Value)
  6.                     TB05.Value = "X"
  7.                Else
  8.                End If
  9.           Next
  10. End Sub


mon problème est au niveau du in dans la boucle for each et de restreindre la comparaison (sélection des TB) à ceux qui m'interresent. De plus même si ça ne me pose pas de problème qu'il compare à toutes dans le code suivant il me marque utilisation de proprièté sur cette ligne

Code :
  1. For Each TB In UserForm01.MultiPage2.Pages(2)


si quelqu'un à une idée ça m'évitera de passer par une compraison de valeur à valeur.
 
merci d'avance


Message édité par watashi le 20-10-2005 à 16:08:21

---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 18-10-2005 à 16:07:48   

Reply

Marsh Posté le 20-10-2005 à 16:07:45    

résolu grâce à la methode contrôle inspirèe par ce post
 

e2prom a écrit :

Si tu as une vingtaine de TextBox, et que par chance elles s'appellent toujours TextBox1, TextBox2 etc...ou tb1,tb2...
Tu peux faire ça
For i = 1 to 20
userform1.Controls("TextBox" & i) = ""
Next i


 
dans ce sujet : http://forum.hardware.fr/hardwaref [...] 8763-1.htm
merci


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed