Aide code vba sous excel pour case à cocher !
Fermé
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
-
15 déc. 2009 à 17:47
benbeto78 Messages postés 346 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 2 août 2014 - 17 déc. 2009 à 10:16
benbeto78 Messages postés 346 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 2 août 2014 - 17 déc. 2009 à 10:16
A voir également:
- Aide code vba sous excel pour case à cocher !
- Liste déroulante excel - Guide
- Aller à la ligne dans une case excel - Guide
- Code ascii de a - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Si et excel - Guide
14 réponses
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
15 déc. 2009 à 17:51
15 déc. 2009 à 17:51
Salut,
colle nous ton code VBA de ton formulaire pour que l'on puisse voir le nom des tes champs et de tes variables.
Merci
colle nous ton code VBA de ton formulaire pour que l'on puisse voir le nom des tes champs et de tes variables.
Merci
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
15 déc. 2009 à 17:57
15 déc. 2009 à 17:57
Voila : D
http://ups.imagup.com/06/1260941091.jpg
http://ups.imagup.com/06/1260941091.jpg
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
15 déc. 2009 à 19:55
15 déc. 2009 à 19:55
alors personne pour me filer un petit coup de main ?
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 01:57
16 déc. 2009 à 01:57
Salut,
Au lieu des cases à cocher j'ai mit des boutons radios Option1 pour Oui et Option2 pour Non
tient essaie ceci:
Bonne journée
Au lieu des cases à cocher j'ai mit des boutons radios Option1 pour Oui et Option2 pour Non
tient essaie ceci:
Private Sub cmdajouter_Click() Dim numlignevide As Integer Worksheets("Prêt BluRay").Activate numlignevide = ActiveSheet.Columns(1).Find("").Row If txtfilm.Text = "" Then MsgBox "Veuillez remplir les champs", vbCritical, "Champs manquants" txtfilm.SetFocus Else ActiveSheet.Cells(numlignevide, 1) = txtfilm.Text ActiveSheet.Cells(numlignevide, 3) = txtpret.Text If Option1 = True Then ActiveSheet.Cells(numlignevide, 2) = "oui" ElseIf Option2 = True Then ActiveSheet.Cells(numlignevide, 2) = "Non" End If txt.film.Text = "" txtpret.Text = "" Option1 = "" Option2 = "" txtfilm.SetFocus End If End Sub
Bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 15:44
16 déc. 2009 à 15:44
Slt !
Je viens de tester ton code VBA et ça fontionne niquel merci beaucoup.
Y a juste un petit truc je sais pas si on peut le changer mais lorsque je rentre dans le formulaire le nom de mon film si je l'ai prêté "oui" ou "non" et que je valide, les deux bouton options sont rempli et grisé.
C'est pas gênant en soit parce qu'ils sont grisé mais il suffit que je clique sur l'un d'entre eux quand je rentre un nouveau film pour qu'il prenne en compte le choix désiré mais bon.
A et puis j'y pense, quand je valide, le setfocus se remet sur "nom du film" donc ça c'est parfait mais j'aimerai aussi que le choix "non" soit sélectionné par défaut.
Si tu as une solution ça serait cool.
Merci
Je viens de tester ton code VBA et ça fontionne niquel merci beaucoup.
Y a juste un petit truc je sais pas si on peut le changer mais lorsque je rentre dans le formulaire le nom de mon film si je l'ai prêté "oui" ou "non" et que je valide, les deux bouton options sont rempli et grisé.
C'est pas gênant en soit parce qu'ils sont grisé mais il suffit que je clique sur l'un d'entre eux quand je rentre un nouveau film pour qu'il prenne en compte le choix désiré mais bon.
A et puis j'y pense, quand je valide, le setfocus se remet sur "nom du film" donc ça c'est parfait mais j'aimerai aussi que le choix "non" soit sélectionné par défaut.
Si tu as une solution ça serait cool.
Merci
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 15:56
16 déc. 2009 à 15:56
Salut,
je ne suis vraiment pas un expert en VBA, je suis novice et j'essaie d'apprendre ;)
J'ai l'impression que je n'ai pas mit mon End If à la bonne place
je ne suis vraiment pas un expert en VBA, je suis novice et j'essaie d'apprendre ;)
J'ai l'impression que je n'ai pas mit mon End If à la bonne place
Private Sub cmdajouter_Click() Dim numlignevide As Integer Worksheets("Prêt BluRay").Activate numlignevide = ActiveSheet.Columns(1).Find("").Row If txtfilm.Text = "" Then MsgBox "Veuillez remplir les champs", vbCritical, "Champs manquants" txtfilm.SetFocus Else ActiveSheet.Cells(numlignevide, 1) = txtfilm.Text ActiveSheet.Cells(numlignevide, 3) = txtpret.Text If Option1 = True Then ActiveSheet.Cells(numlignevide, 2) = "oui" ElseIf Option2 = True Then ActiveSheet.Cells(numlignevide, 2) = "Non" txt.film.Text = "" txtpret.Text = "" Option1 = "" Option2 = "" txtfilm.SetFocus End If End If End Sub
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 16:00
16 déc. 2009 à 16:00
C'est mieux en effet : )
Moi aussi j'essaye d'apprendre le VBA comme tu as pu t'en douter ! ^^
Moi aussi j'essaye d'apprendre le VBA comme tu as pu t'en douter ! ^^
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 16:21
16 déc. 2009 à 16:21
Désolé du double post mais je fais des tests depuis tout à l'heure et je remarque que lorsque je valide mon formulaire avec "oui" les champs ne s'efface pas alors qu'avec "non" ça efface. C'est bizarre.
Ha non c'est bon j'édite mon message, en fait premier End if faut pas le mettre à la fin mais avant d'effacer les champs.
La il me reste plus qu'a trouver comment faire pour que le choix "non" soit sélectionné par défaut lorsque j'ouvre le formulaire.
Ha non c'est bon j'édite mon message, en fait premier End if faut pas le mettre à la fin mais avant d'effacer les champs.
La il me reste plus qu'a trouver comment faire pour que le choix "non" soit sélectionné par défaut lorsque j'ouvre le formulaire.
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 20:23
16 déc. 2009 à 20:23
Salut,
Pour que la case Non soit cocher à l'ouverture de ton formulaire
Bonne journée
Pour que la case Non soit cocher à l'ouverture de ton formulaire
Private Sub UserForm_Activate() 'Attention UserForm doit être remplacer par le nom de ton userform Buttonoption2.Value = True End Sub
Bonne journée
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 21:45
16 déc. 2009 à 21:45
Arf je viens de tester ça fonctionne pas ! j'ai bien mis le nom du userform pourtant regarde :
http://ups.imagup.com/06/1261041168.jpg
Surement que je le met pas au bon endroit (je l'ai mis tout en bas la commande)
Bonne soirée et merci encore pour l'aide !
http://ups.imagup.com/06/1261041168.jpg
Surement que je le met pas au bon endroit (je l'ai mis tout en bas la commande)
Bonne soirée et merci encore pour l'aide !
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 21:51
16 déc. 2009 à 21:51
moi je le mettrais dans thisworkbook
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 22:14
16 déc. 2009 à 22:14
Comme ça ? :
http://ups.imagup.com/06/1261042811.jpg
Parce que ça ne fonctionne pas ! faut pas l'introduire dans le code de base ?
C'est à dire dans celui-la :
Private Sub cmdajouter_Click()
Dim numlignevide As Integer
'activation de la feuille "Prêt BluRay"
Worksheets("Prêt BluRay").Activate
'trouve la dernière ligne vide du tableau et enregistre le numéro de la ligne dans la variable numlignevide
numlignevide = ActiveSheet.Columns(1).Find("").Row
'vérifie que les champs obligatoires sont correctement remplis
If txtfilm.Text = "" Then
MsgBox "Rentrez le nom d'un film", vbCritical, "Veuillez rentrer le nom d'un film SVP !"
txtfilm.SetFocus
Else
'enregistre les données
ActiveSheet.Cells(numlignevide, 1) = txtfilm.Text
ActiveSheet.Cells(numlignevide, 3) = txtpret.Text
If option1 = True Then
ActiveSheet.Cells(numlignevide, 2) = "Oui"
ElseIf option2 = True Then
ActiveSheet.Cells(numlignevide, 2) = "Non"
End If
'efface le formulaire et replace le curseur sur txtfilm
txtfilm.Text = ""
txtpret.Text = ""
option1 = ""
option2 = ""
txtfilm.SetFocus
End If
End Sub
Je sais pas en fait ! Va falloir que je me mette à fond dans les bouquins ! : )
http://ups.imagup.com/06/1261042811.jpg
Parce que ça ne fonctionne pas ! faut pas l'introduire dans le code de base ?
C'est à dire dans celui-la :
Private Sub cmdajouter_Click()
Dim numlignevide As Integer
'activation de la feuille "Prêt BluRay"
Worksheets("Prêt BluRay").Activate
'trouve la dernière ligne vide du tableau et enregistre le numéro de la ligne dans la variable numlignevide
numlignevide = ActiveSheet.Columns(1).Find("").Row
'vérifie que les champs obligatoires sont correctement remplis
If txtfilm.Text = "" Then
MsgBox "Rentrez le nom d'un film", vbCritical, "Veuillez rentrer le nom d'un film SVP !"
txtfilm.SetFocus
Else
'enregistre les données
ActiveSheet.Cells(numlignevide, 1) = txtfilm.Text
ActiveSheet.Cells(numlignevide, 3) = txtpret.Text
If option1 = True Then
ActiveSheet.Cells(numlignevide, 2) = "Oui"
ElseIf option2 = True Then
ActiveSheet.Cells(numlignevide, 2) = "Non"
End If
'efface le formulaire et replace le curseur sur txtfilm
txtfilm.Text = ""
txtpret.Text = ""
option1 = ""
option2 = ""
txtfilm.SetFocus
End If
End Sub
Je sais pas en fait ! Va falloir que je me mette à fond dans les bouquins ! : )
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 22:23
16 déc. 2009 à 22:23
en fait c'est
Private Sub UserForm_Activate() 'Attention UserForm doit être remplacer par le nom de ton userform option2.Value = True End Sub
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 22:28
16 déc. 2009 à 22:28
Je viens de réessayer mais j'ai un message d'erreur :
http://ups.imagup.com/06/1261043564.jpg
Faut peut-être écrire autre chose dans thisworkbook ? et d'ailleurs pourquoi cette commande dans thisworkbook ?
http://ups.imagup.com/06/1261043564.jpg
Faut peut-être écrire autre chose dans thisworkbook ? et d'ailleurs pourquoi cette commande dans thisworkbook ?
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
16 déc. 2009 à 22:34
16 déc. 2009 à 22:34
ah ben oui lol
Private Sub UserForm_Activate() 'Attention UserForm doit être remplacer par le nom de ton userform UserForm.option2.Value = True End Sub
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
16 déc. 2009 à 22:46
16 déc. 2009 à 22:46
lol ! Alors j'ai fait la modification mais la y a une fenêtre "Macro" qui s'affiche je veux pas faire de bêtise mais il faut choisir une macro dans la liste ou en créer une nouvelle ?
le lien :
http://ups.imagup.com/06/1261044738.jpg
le lien :
http://ups.imagup.com/06/1261044738.jpg
Ricky38
Messages postés
4349
Date d'inscription
samedi 15 mars 2008
Statut
Contributeur
Dernière intervention
2 novembre 2013
1 459
17 déc. 2009 à 02:57
17 déc. 2009 à 02:57
Salut :)
tient je t'ai fait un petit exemple
http://www.cijoint.fr/cjlink.php?file=cj200912/cijSD59Gac.xls
À la prochaine
EDIT: faudrait changer l'ordre des commandes
donc mettre
Au lieu de:
On va l'avoir lollll
tient je t'ai fait un petit exemple
http://www.cijoint.fr/cjlink.php?file=cj200912/cijSD59Gac.xls
À la prochaine
EDIT: faudrait changer l'ordre des commandes
donc mettre
Sub CommandButton1_Click() UserForm.option2.Value = True UserForm.Show End Sub
Au lieu de:
Sub CommandButton1_Click() UserForm.Show UserForm.option2.Value = True End Sub
On va l'avoir lollll
benbeto78
Messages postés
346
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
2 août 2014
14
17 déc. 2009 à 10:16
17 déc. 2009 à 10:16
Salut !
Merci ça m'a bien aidé ton fichier, le truc c'est le bouton "Non" était activé lors de l'ouverture du formulaire mais dès que je faisais "Ajouter" ça refaisait comme au début !
Mais j'ai trouvé comment faire en fait c'est tout bête, dans le code de mon Usrform j'ai juste modifié la valeur de option2 :
'efface le formulaire et replace le curseur sur txtfilm
txtfilm.Text = ""
txtpret.Text = ""
option1 = ""
option2 = True
txtfilm.SetFocus
Au lieu de mettre des "" (donc vide) j'ai simplement mis valeur True est ça fonctionne ! Ouf ^^
C'est cool en tout cas ça me fait bosser je me suis arracher les cheveux depuis hier mais grâce à toi j'ai bien avancer : )
Maintenant je vais passer à un autre problème c'est pas du VBA mais c'est tout aussi prise de tête ^^ !
Je voudrais mettre une image en arrière plan (derrière les cellules) mais dans une plage donnée (c'est à dire par exemple uniquement de la cellule A3 x D3 à A50 x D50
Et petit truc supplémentaire, je voudrais que cette image soit figée (un peut comme des lignes que l'on fige pour qu'elle soit toujours visible même en déroulant la page vers le bas.
Voila mon prochain objectif lol !
Je te file le screen de mon tableau que je peaufine si t'as des idées à me donner :
http://ups.imagup.com/06/1261086189.jpg
Merci !
Merci ça m'a bien aidé ton fichier, le truc c'est le bouton "Non" était activé lors de l'ouverture du formulaire mais dès que je faisais "Ajouter" ça refaisait comme au début !
Mais j'ai trouvé comment faire en fait c'est tout bête, dans le code de mon Usrform j'ai juste modifié la valeur de option2 :
'efface le formulaire et replace le curseur sur txtfilm
txtfilm.Text = ""
txtpret.Text = ""
option1 = ""
option2 = True
txtfilm.SetFocus
Au lieu de mettre des "" (donc vide) j'ai simplement mis valeur True est ça fonctionne ! Ouf ^^
C'est cool en tout cas ça me fait bosser je me suis arracher les cheveux depuis hier mais grâce à toi j'ai bien avancer : )
Maintenant je vais passer à un autre problème c'est pas du VBA mais c'est tout aussi prise de tête ^^ !
Je voudrais mettre une image en arrière plan (derrière les cellules) mais dans une plage donnée (c'est à dire par exemple uniquement de la cellule A3 x D3 à A50 x D50
Et petit truc supplémentaire, je voudrais que cette image soit figée (un peut comme des lignes que l'on fige pour qu'elle soit toujours visible même en déroulant la page vers le bas.
Voila mon prochain objectif lol !
Je te file le screen de mon tableau que je peaufine si t'as des idées à me donner :
http://ups.imagup.com/06/1261086189.jpg
Merci !