Résultat de checkbox dans une cellule. Excel 2007

Résultat de checkbox dans une cellule. Excel 2007 - VB/VBA/VBS - Programmation

Marsh Posté le 17-02-2013 à 12:23:11    

Bonjour à tous,
Je suis nouveau et après avoir cherché longuement je n'arrive pas à trouver une solution.
Je suis enseignant et je me suis mis dans la tête de créer sous excel un petit programme qui m'aiderait à réaliser mes TP. (Quelle idée !!!!  :heink: )
J'ai tout 'abord voulu faire simple avec excel mais ce que je veux m'a obligé à utiliser des userform et des checkbox.
Donc en lisant les forum j'ai commencé de façon autodidacte à essayer de m'en sortir avec vba excel.
 
Rentrons dans le vif du sujet :
J'ai créer un bouton qui lance un userform.
Dans ce userform il y a des checkbox.
J'ai réussi à faire en sorte que lorsque je coche une case, l'intitulé s'écrit dans une cellule.
Puis lorsque je coche plusieurs case, les intitulés apparaissent dans d'autres cellules.
Comme ça :
 
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
[a4] = "TETE"
Else
[a4] = ""
End If
End Sub
 
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
[a5] = "TITI"
Else
[a5] = ""
End If
 
End Sub
 
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
[a6] = "TOTO"
Else
[a6] = ""
End If
End Sub
 
Private Sub CheckBox5_Click()
If CheckBox5.Value = True Then
[a7] = "TUTU"
Else
[a7] = ""
End If
End Sub
 
Private Sub CommandButton1_Click()
UserForm1.Hide
 
End Sub
 
 
Private Sub UserForm_Click()
 
End Sub
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
[a3] = "TATA"
Else
[a3] = ""
End If
End Sub
 
TATA, TOTO, ... sont, bien sur, pour l'exercice  :)  
Mon userform comportera une bonne cinquantaine de cases à cocher  :cry:  
 
Ce que j'essaie de faire est que si je ne coche pas mon premier checkbox, le résultat du prochain prend la place sur la première cellule.
Je voudrais éviter donc d'avoir le résultat d'une liste sur une feuille excel avec des cellules vides entre elles.
 
Voilà vous savez tout.
Je vous remercie de la lecture de ce message et du temps que vous pourrez me consacrer.
Ps: si je ne suis pas assez clair, faites le moi savoir  :ange:  
Cordialement
Rgweltaz

Reply

Marsh Posté le 17-02-2013 à 12:23:11   

Reply

Marsh Posté le 18-02-2013 à 09:30:17    

Bonjour,
tu peux trouver la dernière ligne non vide de ton onglet avec cette méthode :

Code :
  1. dim LastLigne as integer
  2. LastLigne = Cells(Rows.Count, 1).End(xlUp).Row
  3. 'et ensuite utiliser cette variable :
  4. cells(LastLigne+1, 1) = "TOTO"



---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 18-02-2013 à 10:51:15    

 
           Bonjour Rgweltaz !

 

           Je suis un peu étonné, pour un enseignant, d'une telle erreur de conception !

 

           Utiliser l'évènement _Click d'un checkbox ne sert effectivement qu'à traiter un checkbox à la fois
           sans s'occuper des autres …   Même en utilisant le code d'oovaveoo, que se passe-t-il
           si une première fois le checkbox est activé puis est désactivé dans un second temps ? …

 

           La propriété Tag pourrait être utilisé pour stocker l'adresse de la cellule mais pour éviter l'usine à gaz,
           il vaudrait mieux traiter les checkboxs ensemble lors de la validation via le bouton CommandButton1
           utilisé pour la sortie de la fenêtre  (au passage mieux vaut utiliser Unload au lieu de Hide).

 

           Procédure de l'évènement click du bouton :
           - Effacer la colonne A à partir de la troisième ligne
           - Initialisation de la variable L à 2
           - Traitement de chaque checkbox : s'il est coché, L = L + 1 puis copie de l'info en ligne L de la colonne A
           - Fermeture de l'Userform.

 

           J'aurais peut-être un créneau en milieu d'après-midi pour étudier la possibilité de traiter les checkboxs par une boucle
           et d'inscrire les informations via la propriété Tag si elle n'est pas encore utilisée, si cela vous intéresse …

 

           ps : y-a-t-il des infos à conserver en A1 & A2 ou pas ?

 

           Autre solution en conservant la "conception" actuelle :   effacer les lignes vides de la liste à la sortie de la fenêtre …


Message édité par Marc L le 18-02-2013 à 11:03:19
Reply

Marsh Posté le 18-02-2013 à 11:04:08    

Ah oui, bien vu.
J'ai répondu sans chercher plus loin et comme tu dis, ça ne peut pas fonctionner.


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 18-02-2013 à 14:44:00    

Bonjour à tous,
Merci de me répondre aussi vite.
Après recherches et aides j'ai normalement la réponse.
 

Citation :

Je suis un peu étonné, pour un enseignant, d'une telle erreur de conception !


Je l'ai dit : je suis enseignant mais pas en informatique  :)  
Ah vrai dire, je suis enseignant en plasturgie (étude des matières plastiques et de leur mise en oeuvre). Et j'essai de faire une petite aide informatique pour mon équipe pédagogique.
Dans un premier temps je vous demandais de l'aide pour créer une page type de TP avec des tâches prédéfinies, celle qui sont dans l'USF.
Ensuite je ferai correspondre ces tâches avec des compétences qui leur sont liées.
En tout cas merci de votre aide.
J'espère pouvoir vous fournir le fichier pour que vous puissiez comprendre. (Apparemment on ne peut pas)
 
Rgweltaz

Reply

Marsh Posté le 18-02-2013 à 14:56:01    

Re bonjour,
 
Voici le fichier en question : http://ge.tt/90IMumY/v/0?c
En feuille 1 : les tâches en foutoirs (pas important)
En feuille 2 : une ébauche d'une page du projet
En feuille 3 : les tâches et compétences liées par un "1" dans chaque cellule
 
J'espère que vous comprendrez
 
Rgweltaz

Reply

Marsh Posté le 18-02-2013 à 15:40:45    

 
           Là je ne peux télécharger, sécurité & proxi oblige …  
 
           Mais j'ai comme l'impression que l'on s'éloigne de la problématique de départ, non ?   Avez-vous progressé ?
 

Reply

Marsh Posté le 18-02-2013 à 15:44:34    

Ah ?!
Oui j'ai progressé.
Merci
J'ai un USF avec des checkbox.
Et quand je clique sur celles-ci elles s'affichent correctement.
C'est dommage que vous ne puissiez pas regarder le fichier car c'est une petite partie d'un long projet.
Rgweltaz

Reply

Marsh Posté le 18-02-2013 à 15:55:40    

 
           Donc le sujet est réglé alors ?
           En exécutant le traitement à la fermeture de l'Userform via le bouton, cela règle la question …
 
           Normalement c'est un sujet par question sauf quand c'est dans la continuité d'un même code …
 
           Il est préférable d'exposer une problématique dans sa globalité sinon il y a un risque  " d'usine à gaz  "  !
 

Reply

Marsh Posté le 18-02-2013 à 16:03:31    

Ok.
Merci encore.

Reply

Sujets relatifs:

Leave a Replay

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