[Vba] Tag propriété avec plusieurs infos

Maxoverfred

XLDnaute Occasionnel
Bonjour encore un endroit où je bloque.
Pour mon userform, j'ai mis en place un règle assez simple: sur 450 champs, certains sont spécifiques à certains pays, donc, j'ai utilisé la propriété du tag du textbox où je lui mets soit

FRA: si le champ doit être visible uniquement pour la france
ALL: si le champ doit être visible uniquement pour tous les pays

Le pays est choisi à l'entré (Publiccountry), et j'ai une petite boucle du genre

Select Case (.Tag)
Case ('ALL')
.Visible = True
Case (Publiccountry)
.Visible = True
Case Else
.Visible = False
End Select

Pour aller un peu plus loin avec cette fonction, j'aimerais spécifié pour certains champs: dans le tag: FRA, BEL ( ce qui signifie donc que c'est visible pour la France et la Belgique )

Comme je suis pas une lumière en syntaxe... si quelque sait me donner un petit coup de main.. je suppose qu'il suffirait de transformer le contenu du tag en array.. et ensuite se promener dans l'array et à chaque élément (par exemple séparé par un ',') je parcours...
Beh je crois que j'ai l'énoncé.. Merci

Message édité par: maxoverfred, à: 03/09/2005 13:30
 

Hervé

XLDnaute Barbatruc
Bonjour max

Une idée :

Et si après l'initialisation de ta variable, tu testais celle-ci, si c'est BEL alors tu changes la valeur de ta variable par FRA.

Ainsi, ca t'eviterai de reprendre tes tag de tes controles et le code en profondeur.

If Publiccountry = 'BEL' Then Publiccountry = 'FRA'

non ?

salut
 

Maxoverfred

XLDnaute Occasionnel
Je t'avoue que j'ai du relire 10 fois pour essayer de voir si cela irait.. mon souci est que mon app est un peu plus complexe...

en deux mots:

L'utilisateur recoit un premier userform où il selectionne un pays, une langue et une action..
Ensuite, en fonction de l'action choisie j'ai des controles sur mon second userform qui sont enabled/disabled et en fonction du pays, ils sont invisibles/visibles.

Tout cela pour dire que j'ai deux conditions imbriquées et que ton exemple bien que bon ne me parait pas me convenir...
 

Maxoverfred

XLDnaute Occasionnel
Je ne pense pas que le code aurait aidé mais peut etre que je me suis mal exprimé, bref, au final, j'ai trouvé par moi même et la réponse était..

Dim txt as string
Dim x As Variant
Dim i As Long

txt = .Tag
x = Split(txt, ',')

For i = 0 To UBound(x)
Select Case x(i)
Case ('ALL')
.Visible = True
Exit For
Case (Publiccountry)
.Visible = True
Exit For
Case Else
.Visible = False
End Select
Next i

tout cela imbriqué dans ma boucle de contrôles..

On ne sait jamais cela peut servir à quelqu'un qui voudrait stocker dans le tag plusieurs valeurs propre à son champs sur on userform... (dis comme cela, c'est déjà plus clair ;) )
 

Discussions similaires

Réponses
5
Affichages
795
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 166
Messages
2 085 898
Membres
103 022
dernier inscrit
Ouékino