Gérer le forum:  Aide  •  Rechercher  •  Liste des Membres  •  Groupes d'utilisateurs   •  S'enregistrer  •  Profil  •  Se connecter pour vérifier ses messages privés  •  Connexion 
 [VBA]Calculs de moyenne Voir le sujet suivant
Voir le sujet précédent
Poster un nouveau sujetRépondre au sujet
Auteur Message
Orakkle
Forumeur fréquent
Forumeur fréquent


BTS IG - Option réseau 1ère année
Sexe: Sexe:Féminin
Messages: 98

MessagePosté le: Jeu 19 Nov 2009 - 23:13 Répondre en citantRevenir en haut

Bonjour!

J'ai un gros problème avec VBA!

Mon code ne marche pas du tout, et, vu que je n'ai pas de cours (si quelqu'un a un bon lien...) et que j'y comprends rien (le C me manque...), quelqu'un pourrait m'aider à corriger?

Voilà les captures d'écran des erreurs, si quelqu'un pouvait m'expliquer ce qu'elles veulent dire...

Les images, l'IHM et les erreurs qui me sautent tout le temps dessus:
http://img260.imageshack.us/i/vb1.tif/
http://img692.imageshack.us/i/vb2.tif/
http://img137.imageshack.us/i/ihm.tif/

Et pour finir le code...

Code:
Option Compare Database
    'Dim fso As New FileSystemObject
    'Dim fi As TextStream
    'Dim Moyenneang As Double
    'Dim Nbrnotesangl As Double
    'Dim Moyenneall As Double
    'Dim Nbrnotesall As Double
    'Dim Moyenneallt As Double
    'Dim Moyenneangt As Double
    'Dim optionanglaistest As Boolean



Private Sub DÈtail_Click()



End Sub

Private Sub …tiquette0_Click()

End Sub

Private Sub Optallemand_GotFocus()
    optionanglais.Value = False
   
   
   
End Sub

Private Sub optionanglais_GotFocus()
optionanglais.Value = True

End Sub

Private Sub txt_nom_BeforeUpdate(Cancel As String)

End Sub

Private Sub txt_note_BeforeUpdate(Cancel As Integer)
Dim Note As Double
Note = txtnote


End Sub

Private Sub Valider_Click()
    If optionanglais.Value = True Then Moyenneang = txtnote + Moyenneang
    'fi.writeline txtnom & "    " & "      " & txtnote & " " & "anglais"
   
    Nbrnotesang = Nbrnotesang + 1
    Moyenneangt = Moyenneang / Nbrnotesang
    Else
    'fi.writeline txtnom & " "
    Moyenneall = Moyenneall + txtnote
    Nbrnotesall = Nbrnotesall + 1
    Moyenneallt = Moyenneall / Nbrnotesall
    End If
   
    txtnom = ""
    txtnom = ""


End Sub


Private Sub Form_Load()
'globales

    'Set fi = fso.CreateTextFile("k:\notesetudiants.txt", True)
    Dim Moyenneall As Double
    Moyenneall = 0
    Dim Moyenneang As Double
    Moyenneang = 0
    Dim Nbrnoteasall As Integer
    Nbrnotesall = 0
    Dim Nbrnotesang As Integer
    Nbrnotesang = 0
   
   
   
   
End Sub


J'ai essayé de mettre en commentaire ce qui posait problème, mais... ça ne change rien.
Je suis incapable de comprendre VBA. Help? Quelqu'un? Pitié?

_________________
Image

2008: Bac S
2008-2009: L1 Math-Info (validée)
2009-2010: BTS IG 1

Désespérée cherche désespérément espoir.
Voir le profil de l'utilisateurEnvoyer un message privé

N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire.
ficoba
Forumeur fréquent
Forumeur fréquent


Post-BTS
Sexe: Sexe:Masculin
Messages: 52
Localisation: Devant mon ordinateur

MessagePosté le: Ven 20 Nov 2009 - 12:53 Répondre en citantRevenir en haut

Code:

Option Compare Database

'En dehors des SUB et FONCTION les déclarations de variables en VBA prennent => Public OU Private selon la portée désirée

Private fso As New FileSystemObject
Private fi As TextStream
Private Moyenneang As Double
Private Nbrnotesangl As Double
Private Moyenneall As Double
Private Nbrnotesall As Double
Private Moyenneallt As Double
Private Moyenneangt As Double
Private optionanglaistest As Boolean



Private Sub DÈtail_Click()

End Sub


Private Sub …tiquette0_Click()

End Sub


Private Sub Optallemand_GotFocus()
    optionanglais.Value = False     
End Sub


Private Sub optionanglais_GotFocus()
     optionanglais.Value = True
End Sub


Private Sub txt_nom_BeforeUpdate(Cancel As String)

End Sub


Private Sub txt_note_BeforeUpdate(Cancel As Integer)
   'A quoi sert cette SUB ??? Surtout pour l'affectation dans une variable non global
  Dim Note As Double

  Note = txtnote
End Sub


Private Sub Valider_Click()
    If optionanglais.Value = True Then
       Moyenneang = txtnote + Moyenneang
       'fi.writeline txtnom & "    " & "      " & txtnote & " " & "anglais"
   
       Nbrnotesang = Nbrnotesang + 1
       Moyenneangt = Moyenneang / Nbrnotesang
    Else
       'fi.writeline txtnom & " "

       Moyenneall = Moyenneall + txtnote
       Nbrnotesall = Nbrnotesall + 1
       Moyenneallt = Moyenneall / Nbrnotesall
    End If
   
    txtnom = ""
    txtnom = ""
End Sub


Private Sub Form_Load()
'globales

    'Set fi = fso.CreateTextFile("k:\notesetudiants.txt", True)
    'Dim Moyenneall As Double
    Moyenneall = 0
    'Dim Moyenneang As Double
    Moyenneang = 0
    'Dim Nbrnoteasall As Integer
    Nbrnotesall = 0
    'Dim Nbrnotesang As Integer
    Nbrnotesang = 0
End Sub


Essaye déjà ce que j'ai corrigé.

Pour les objets de ton formulaire et/ou état rajoutes =>
Me.LeNomObket.value

Me. : Signifie l'objet de ton formulaire (pour éviter des ambiguités entre plusieurs formulaires via des sous formulaire par exemple.

.Value : Permet de retourner la valeur de l'objet, ce n'est pas obligatoire par contre.

_________________
---
AixpérienceLAN Staff Ficoba

"Un jour, Chuck Norris a perdu son alliance.
Depuis c'est le bordel dans les terres du milieu..."
Voir le profil de l'utilisateurEnvoyer un message privéVisiter le site web du posteur
Montrer les messages depuis:      
Poster un nouveau sujetRépondre au sujet
 Sauter vers:   



Voir le sujet suivant
Voir le sujet précédent
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum