Macro checkbox, userform et copie de données

Fermé
Elodie - 31 août 2011 à 10:54
 Elodie - 31 août 2011 à 14:16
Bonjour,

J'ai un fichier de suivi d'avancement d'un projet sur lequel je souhaite pouvoir cocher une checkbox à chaque étape. Lorsque l'on coche la case, un userform s'ouvre dans lequel on renseigne un certain nombre d'informations.
Jusque là tout va bien

Ce que je voudrais faire c'est que lorsque je valide ce userform, les informations contenues dans les textbox se recopient sur mon feuille contenant la checkbox, plus spécifiquement sur la meme ligne.
Le problème c'est que j'ai autant de checkbox que de lignes et que je ne sais pas comment faire le lien entre checkbox et validation du userform.

Je sais pas si c'est très clair. En gros, si je coche la checkbox qui est en J5, je veux que les informations des textbox du userform soient copiées dans les case K5, L5...

Je voulais vous mettre un fichier exemple mais cijoint à l'air de connaitre des problèmes aujourd'hui...

Merci de votre aide !
Elodie
A voir également:

1 réponse

cousinhub29 Messages postés 977 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 décembre 2024 348
31 août 2011 à 12:56
Bonjour,

tout d'abord, comment provoques-tu l'apparition de ton userform?
As-tu un code par checkbox, ou utilises-tu un module de classe (qui te permettrait de n'avoir qu'un seul code)?

Si tu as un code par checkbox, tu peux faire comme ceci :

Tout d'abord, dans un module standard (insertion/module), tu déclares ta variable "Lig" en Public :

Public Lig As Long


et dans le code de ton checkbox, tu entres ceci :

Private Sub CheckBox1_Click()
If Not Me.CheckBox1 Then Exit Sub
Lig = Me.CheckBox1.TopLeftCell.Row
UserForm1.Show
End Sub


Nota, si tu décoches le checkbox, l'usf n'apparaîtra pas avec ce code (1ère ligne)

tu peux ensuite utiliser la variable "Lig" comme ceci :

Sheets("Feuil1").Cells(Lig, 7).Value = Me.TextBox1


Pour bien positionner ton checkbox sur la ligne voulue, tu cliques dessus en mode création, et en maintenant le clic gauche appuyé, tu appuies sur la touche "Alt", et tu places ton checkbox en haut de la cellule (le fait d'appuyer sur "Alt" te permet de positionner ton objet par rapport aux bordures de cellule)

Bon courage
0
Bonjour,

Idéalement il me faudrait un seul code, donc l'utililsation d'un module de classe car mon fichier peut avoir plus de 1000 lignes, ensuite, je souhaite pouvoir avoir une checkbox par ligne, donc le "TopLeftCell" n'est pas possible...

Une idée pour m'aider ?
Merci
0