Problème avec If et Case dans VBA...

Problème avec If et Case dans VBA... - VB/VBA/VBS - Programmation

Marsh Posté le 10-02-2009 à 23:04:30    

Bonjour à tous,
 
Je suis débutant et j'ai un soucis avec VBA - excel.
Je voudrais afficher un message dans une cellule en fonction 2 conditions.
J'ai essayé ceci, mais sans succès.
 
Dans ma cellule C4, j'ai déjà une valeur numérique. C'est en fonction de cette valeur que le message veut varier.
Première condition: que optionvillage et optionville soient cochés (il y en aura d'autres après)
Deuxième condition: Message écrit dans C10 en fonction de la valeur de C4.
 
    Dim joueurs
    joueurs= ActiveSheet.Range("C4" ).Value
    If (optionvillage.Value = True And optionville.Value = True) Then
    Select Case pieces
    Case 6
       Range("C10" ) = "6 joueurs"
    Case 7
       Range("C10" ) = "7 joueurs"
    End Select
    End If
 
Je suis dans le flou...
Merci de m'aider.

Reply

Marsh Posté le 10-02-2009 à 23:04:30   

Reply

Marsh Posté le 10-02-2009 à 23:19:45    

Tu as un message d'erreur quelconque ?


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 10-02-2009 à 23:28:12    

non c'est juste que cela ne fonctionne pas...
Mais j'ai oublié une étape importante :s
Mon optionvillage.value est sur un premier formulaire!!!
En fait si ma condition est remplie sur le premier formulaire, je passe au deuxième, mais que dois-je mettre pour passer la valeur de optionvillage.value au deuxième formulaire?
Après cela, mon code devrait fonctionner?
merci!

Reply

Marsh Posté le 11-02-2009 à 08:45:28    

tu aura sans doute plus d'aide dans la partie "Programmation" du forum a mon avis


---------------
#mais-chut
Reply

Marsh Posté le 11-02-2009 à 09:51:51    

Pour accéder à une autre feuille, au lieu de laisser Range() tout seul ou au lieu de le préfixer par ActiveSheet, il faudrait le préfixer par ThisWorkbook.Sheets("nom_dune_feuille" ). Ou bien faire ThisWorkbook.Sheets("nom_dune_feuille" ).Activate


Message édité par olivthill le 11-02-2009 à 09:56:11
Reply

Marsh Posté le 11-02-2009 à 09:55:11    

Ce sujet a été déplacé de la catégorie Windows & Software vers la categorie Programmation par Freds45


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 11-02-2009 à 10:21:08    

Merci pour le déplacement...
Merci à toi aussi olivthill, mais ce n'est pas d'une feuille à une autre, mais d'un formulaire à une autre. Je travaille sur une seule et même feuille. En fait, à l'ouverture du document, je vais lancer une macro pour ouvrir un premier formulaire et fonction de ce qui sera coché et validé, j'arriverai sur un seuxième formulaire. Mais comment arriver sur le deuxième formulaire avec les infos validées sur le premier. cfr optionvillage etc

Reply

Marsh Posté le 11-02-2009 à 11:17:01    

Une solution consiste à utiliser des variables globales.
 
Pour cela il faut créer un "module" (faire un clic droit dans la fenêtre Projet et choisir "Insertion/Module" ).
Dans le module, écrire

Public toto

Dans un formulaire, écrire

toto = "abc"

Dans l'autre formulaire, écrire

Me.TextBox1.Value = toto

Reply

Sujets relatifs:

Leave a Replay

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