Formulaire sur VBA incrémentation nouvelle ligne

Résolu
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009 - 12 août 2009 à 21:15
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009 - 25 août 2009 à 21:20
Bonjour,
je suis bloquée, je viens d'établir un formulaire et j'aimerai à partir des données saisies dans les combobox cliquer sur un CommandButton1 et que mes données s'enregistrent dans une feuille excel à la suite. Ex: 15/07/2009 ligne A3 et le 16/07/2009 ligne juste en dessous A4.
Merci d'avance pour votre aide.

Ci-joint mon dossier:

Private Sub CommandButton1_Click()
msg = "CONFIRMATION ENREGISTREMENT DU STOCK"
Title = "VOULEZ VOUS CONTINUER?"
reponse = MsgBox(Title, vbYesNoCancel, msg)
If reponse = 6 Then
MsgBox jour + " " + mois + " " + textannee.Value
Range("A3") = jour
Range("B3") = mois
Else
MsgBox "Annulation effectuée"
End If
End Sub
Private Sub mois_Change()
End Sub

Private Sub textannee_Change()
End Sub

Private Sub UserForm_Activate()
End Sub
Private Sub UserForm_Initialize()
'indication du mois
mois.AddItem ("Janvier")
mois.AddItem ("Février")
mois.AddItem ("Mars")
mois.AddItem ("Avril")
mois.AddItem ("Mai")
mois.AddItem ("Juin")
mois.AddItem ("Juillet")
mois.AddItem ("Aout")
mois.AddItem ("Septembre")
mois.AddItem ("Octobre")
mois.AddItem ("Novembre")
mois.AddItem ("Décembre")
'indication du jour
jour.AddItem ("1")
jour.AddItem ("2")
jour.AddItem ("3")
jour.AddItem ("4")
jour.AddItem ("5")
jour.AddItem ("6")
jour.AddItem ("7")
jour.AddItem ("8")
jour.AddItem ("9")
jour.AddItem ("10")
jour.AddItem ("11")
jour.AddItem ("12")
jour.AddItem ("13")
jour.AddItem ("14")
jour.AddItem ("15")
jour.AddItem ("16")
jour.AddItem ("17")
jour.AddItem ("18")
jour.AddItem ("19")
jour.AddItem ("20")
jour.AddItem ("21")
jour.AddItem ("22")
jour.AddItem ("23")
jour.AddItem ("24")
jour.AddItem ("25")
jour.AddItem ("26")
jour.AddItem ("27")
jour.AddItem ("28")
jour.AddItem ("29")
jour.AddItem ("30")
jour.AddItem ("31")

textannee = ("2009")
End Sub
Private Sub UserForm_Terminate()
MsgBox "Traitement Terminé"
End Sub


steph8032

8 réponses

cs_Zock Messages postés 38 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 15 avril 2010
24 août 2009 à 09:43
Est ce que tu peux cliquer sur accepter la réponse pour fermer le post stp
Zock[size=50]
/size
3
cs_Zock Messages postés 38 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 15 avril 2010
14 août 2009 à 10:07
je suis pas sure d'avoir compris,ton exemple n'est pas très clair.

Moi ce que j'ai compris c'est :
1.l'utilisateur choisit des valeurs
2.il enregistre
3.Les valeurs sont marquées dans une ligne X
4.l'utilisateur choisit des valeurs
5.il enregistre
6.Les valeurs sont marquées dans une ligne X+1

C'est bien ça ?
0
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009
14 août 2009 à 17:11
oui c'est exactement ça.
Merci,


steph8032
0
cs_Zock Messages postés 38 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 15 avril 2010
17 août 2009 à 13:09
Le plus simple, c'est que tu crées une varaible générale dans ton code. A chaque fois que tu écris une ligne, tu implémente ta variable.

'dans général
Dim compteur_ligne = 3 'si 3 est la premiere ligne que tu utilises


Private Sub CommandButton1_Click() 
msg = "CONFIRMATION ENREGISTREMENT DU STOCK" 
Title = "VOULEZ VOUS CONTINUER?" 
reponse = MsgBox(Title, vbYesNoCancel, msg) 
If reponse = 6 Then 
MsgBox jour + " " + mois + " " + textannee.Value 
Cells(1,compteur_ligne) = jour '******
Cells(2,compteur_ligne) = mois '******
Compteur_ligne = compteur_ligne + 1
Else 
MsgBox "Annulation effectuée" 
End If 
End Sub 





End sub

Si tu veux une explication plus détaillé, n'hésite pas.
--< Signé : Zock >--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009
20 août 2009 à 19:28
Merci pour le programme, mais je n'y arrive toujours pas, j'ai indiqué Dim compteur_ligne=3 'dans General

dans commandbutton/ click
Dimcompteur_ligne = 3 ' je suis obligée de coller Dim au mot compteur sinon j'ai un message d'erreur
Private Sub CommandButton1_Click()
msg = "CONFIRMATION ENREGISTREMENT DU STOCK"
Title = "VOULEZ VOUS CONTINUER?"
reponse = MsgBox(Title, vbYesNoCancel, msg)
If reponse = 6 Then
MsgBox jour + " " + mois + " " + textannee.Value
Cells(1, compteur_ligne) = jour
Cells(2, compteur_ligne) = mois
compteur_ligne = compteur_ligne + 1
Else
MsgBox "Annulation effectuée"
End If
End Sub
End Sub

Excel me dit quand j'exécute => fin de compilation: instruction incorrecte à l'extérieur d'une procédure.
Merci pour l'aide

steph8032
0
cs_Zock Messages postés 38 Date d'inscription mercredi 5 novembre 2008 Statut Membre Dernière intervention 15 avril 2010
21 août 2009 à 11:23
Normalement ça marche, j'ai fait le test

Dim compteur_ligne  'désolé pour l'erreur  
Private Sub UserForm_Initialize()  ' au lancement de ta feuille la variable prendra la valeur 3
compteur_ligne = 3
End Sub


Private Sub CommandButton1_Click() 
msg = "CONFIRMATION ENREGISTREMENT DU STOCK" 
Title = "VOULEZ VOUS CONTINUER?" 
reponse = MsgBox(Title, vbYesNoCancel, msg) 
If reponse = 6 Then 
MsgBox jour + " " + mois + " " + textannee.Value 
Cells(compteur_ligne, 1) = jour '<====== j'avais interverti colonne et ligne
Cells(compteur_ligne, 2) = mois 
compteur_ligne = compteur_ligne + 1 
Else 
MsgBox "Annulation effectuée" 
End If 
End Sub 




Zock - Pensez à accepter les réponses[size=50]
/size
0
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009
22 août 2009 à 19:12
Merci, merci, ça marche je suis contente.
Maintenant que tu as résolu mon problème je vais essayer de développer le programme.

Encore merci,


steph8032
0
steph8032 Messages postés 7 Date d'inscription samedi 10 novembre 2007 Statut Membre Dernière intervention 25 août 2009
25 août 2009 à 21:20
Une autre question, comment fait-on pour ajouter une formule de calcul, j'aimerai pour un bouton qu'il se calcule automatiquement en fonction de la donnée d'un autre bouton.

ex: il y a 50 personnes => je veux 20% de cet effectif soit 10 personnes. J'ai pensé indiquer =>
If Nombre_pers.value then 'textbox
Nombre_w= Nombre_pers*0.20 'textbox
end if

et après j'indiquerai, Cells(compteur_ligne, 5) = Nombre_w dans mon bouton de commande
sauf que celà ne marche pas malheureusement.

NB: lorsque je sort de mon application pour indiquer une nouvelle date celà efface la donnée de la 2ième ligne pour ajouter la nouvelle donnée?

Merci,
steph8032
0
Rejoignez-nous