IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Discussion :

problème de remplissage automatique de champs


Sujet :

VBA

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 13
    Points
    13
    Par défaut problème de remplissage automatique de champs
    Bonjour,
    Je cherche à faire un formulaire qui permette de mettre en classes une liste d'individus. On rentre le nombre de classes et leurs limites dans le formulaire puis on envoie et dans la théorie ça devrait fonctionner mais bien sur ça n'est pas le cas sinon je ne serai pas la. Voici mon code, l'erreur se produit à la ligne sous le case else pour remplir le champ tranches avec la valeur 1, et je ne comprend pas vraiment ce que signifie le message d'erreur : "aucun texte de commande n'a été défini pour l'objet de commande". Ce message n'arrive que quand j'enlève la routine de gestion d'erreur sinon j'ai droit à une erreur numéro 0 qui bloque l'execution aussi. Quelqu'un pourrait-il m'aider? Je me rend compte que mon niveau n'est pas élevé et que je pollue plus ou moins le forum mais cela fait 3 jours que je bloqué la dessus donc je me permet de lancer un appel à l'aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub Btranches_Click()
    On Error GoTo err_fct
     
    Dim i As Integer
    Dim cn1 As ADODB.Connection
    Set cn1 = CurrentProject.Connection
    Dim mysql As String
    Dim myRS As New ADODB.Recordset
    myRS.ActiveConnection = cn1
    myRS.CursorType = adOpenDynamic
    myRS.LockType = adLockOptimistic
     
    For i = 1 To nbcommunes
    Select Case [Montant par élève pris en compte]
        Case Is > TBlimsup7
        myRS.Fields("tranches").Value = 8
        Case TBlimsup6 To TBlimsup7
        myRS.Fields("tranches").Value = 7
        Case TBlimsup5 To TBlimsup6
        myRS.Fields("tranches").Value = 6
        Case TBlimsup4 To TBlimsup5
        myRS.Fields("tranches").Value = 5
        Case TBlimsup3 To TBlimsup4
        myRS.Fields("tranches").Value = 4
        Case TBlimsup2 To TBlimsup3
        myRS.Fields("tranches").Value = 3
        Case TBlimsup1 To TBlimsup2
        myRS.Fields("tranches").Value = 2
        Case Else
        myRS.Fields("tranches").Value = 1
    End Select
     
    myRS.MoveNext
     
    Next i
     
    err_fct:
    Resume Next
    MsgBox "Erreur n° " & Err.Number & ": " & Err.Description
     
    Set myRS = Nothing
    Set cn1 = Nothing
    End Sub

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Déjà, si tu utilises une gestion d'erreur, tu dois placer un Exit Sub avant l'étiquette err_fct pour ne pas passer dedans à tous les coups.
    Il faut donc déplacer tout ce qui est après la gestion d'erreur pour que ce soit pris en compte.
    Ceci donne, pour ton cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set myRS = Nothing
    Set cn1 = Nothing
     
    Exit Sub
    err_fct:
    Resume Next
    MsgBox "Erreur n° " & Err.Number & ": " & Err.Description
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 563
    Points : 1 691
    Points
    1 691
    Par défaut
    salut
    je ne comprend pas tout a ton code, mais déja, je ne suis pas sur que tes intervalles soient bien définis. je ne sais pas si c'est cela qui peut te donner cette erreur 0, mais quand tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Case TBlimsup6 To TBlimsup7
        myRS.Fields("tranches").Value = 7
        Case TBlimsup5 To TBlimsup6
        myRS.Fields("tranches").Value = 6
    pour l'ordi, en supposant que la valeur soit TBlimsup6 il se retrouve avec 2 cases de même valeur, ça doit le perturber.
    et puis, il y a un truc qui me chafouine, mais je n'en suis pas sur, il me semble que le cas d'erreur 0 est justement la valeur d'erreur quand il n'y a pas d'erreur. c'est a vérifier
    bon dimanche
    ps : quand a polluer le forum, ça servirai a quoi qu'on se décarcasse si personne n'avait de soucis, hein?

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par alsimbad
    il me semble que le cas d'erreur 0 est justement la valeur d'erreur quand il n'y a pas d'erreur.
    C'est la raison de mon intervention au dessus de la tienne.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    merci à vous pour vos réponses, cela m'a aidé malheureusement mon programme n'est toujours pas au point,j'avai un autre message d'erreur qui s'affichait donc j'ai rajouté la méthode .Open et cela a marché car je n'ai plus de message d'erreur, mais il ne se passe absolument rien lorsque je lance le programme.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myrs.ActiveConnection = cn1
    myrs.CursorType = adOpenDynamic
    myrs.LockType = adLockOptimistic
    myrs.Open "SELECT tranches FROM statistiques"
    Cela selectionne le champ tranches, le champ que je souhaite modifier, dans ma table "statistiques". En théorie, je crois que c'est ce qu'il faut faire mais ça ne fonctionne pas donc je suis à nouveau bloqué.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/05/2008, 17h33
  2. [FORMULAIRE] Remplissage automatique des champs
    Par Pwouaro dans le forum IHM
    Réponses: 5
    Dernier message: 03/12/2007, 16h00
  3. Remplissage automatique de champs
    Par Gali dans le forum Access
    Réponses: 3
    Dernier message: 24/05/2006, 00h07
  4. Réponses: 4
    Dernier message: 22/05/2006, 16h41
  5. [MySQL] Remplissage automatique des champs d'un formulaire
    Par dodji05 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/04/2006, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo