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

Access Discussion :

[newbie]message erreur 438 object doen't support ...


Sujet :

Access

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut [newbie]message erreur 438 object doen't support ...
    salut


    mon code est un userform excel vba->DAO->Access

    3 combo qui se remplisse avec le resultat de requete,ca fonctionne bien

    apres j appuie sur bouton qui fait appel a la fonction controlinvoice

    qui parcours un troncon excel B56 a B553 ou c la ref et F56 a F553 ou c le prix

    si la cellule est vide je passe au i suivant et je fais pas la requete sinon

    je fait un requete ou g cherche le prix de la valeur B56

    et je regarde si le prix=la valeur de F56

    si c different alors la cellule devient rouge
    et nberror incremente

    si on arrive a la fin 553 il affiche le nberror

    enfin voila le code peut être se sera plus claire

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
     
     
    Const debut As Integer = 56
    Const fin As Integer = 553
    Const colonB As Integer = 2
    Const colonF As Integer = 6
     
     
    'declare un nom d'objet de la classdao
    Private cnxDAO As ClassDAO
     
     
    Public Sub ControlInvoice()
    ' fonction permettant de verifier si les tarifs excel correspondent aux tarifs de la base access
     
    Dim lot As String
    Dim printer As String
    Dim avenant As String
    Dim sql As String
     
     
    'selection du lot stocké dans lot
    lot = Cbolot.Value
     
    'selection du printer stocké dans printer
    printer = Cboprinter.Value
     
    'selection de avenant stocké dans avenant
    avenant = Cbonomav.Value
     
     
    Dim nberror As Integer ' nb error si prix base <>prix excel
    Dim i As Integer 'ligne 56
    Dim j As Integer 'colonne 2 B
    Dim k As Integer 'colonne 6 F
     
    i = debut 'const correspondant cellule B56 de excel
    j = colonB 'const correspondant  a la colonne B de ma page excel
    k = colonF 'const correspondant a la colonne F de ma page excel
     
     
     
        For i = debut To fin  ' de B56 a B553
     
            Debug.Print i
            code = Cells(i, j).Value 'code=la valeur de cette cellule
     
            sql = "select av_unitprice from avenant where ((av_lot_nom='" & lot & "')&(av_printer_nom='" & printer & "')&(av_nom_av_nom='" & avenant & "')&(av_code_nom='" & code & "'))"
     
            If code <> "" Then
     
            Dim rsprix As Recordset 'declaration du recordset rsprix
     
            'je stocke dans rsprix le resultat de ma requete le prix par rapport au lot,printer,nom avenant et au code present dans la cellule  en cours
            Set rsprix = cnxDAO.CurrentDB.OpenRecordset(sql, dbOpenDynaset, dbFailOnError)
                Debug.Print sql
                With rsprix ' parcours de mon recordset
     
     
                    prix = !av_unitprice 'j assigne a prix le prix obtenu par ma requete
     
                End With
     
            If (Cells(i, k).Value <> prix) Then ' si le prix de ma cellule excel est different du prix de la base
            Cells(i, k).ColorIndex = 3 'alors cellule devient rouge
            nberror = nberror + 1 'alors j incremente le nberror
            End If
     
            If i = fin Then
     
            MsgBox ("il y a " & nberror & " erreur(s)") 'affiche le nombre erreur nberror
            End If
     
            Else
            End If
     
        Next i 'ligne suivante
     
    End Sub




    merci

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Bon, avant toute chose merci d'éditer ton message en enlevant le SMS / Texto et les appels au secours.

    D'autre part, quelle ligne de ton (long) code plante ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut
    je pense que c'est la fonction controlinvoice

    car ca fonction au debut j ai bien la premiere valeur de la cellule B56 de ma feuille excel qui s affiche dans ma message box ensuite plus rien plantage not responding

    en fait quand je fait le debug y a pas de valeur a cells(i,j).value

    i et j on bien leur valeur mais le contenu de la cellule ne s affiche pas

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut
    donc voila j ai changer ma syntaxe

    dans fonction controlinvoice

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    If (Cells(i, k).Value <> prix) Then ' si le prix de ma cellule excel est different du prix de la base
     
            Cells(i, k).ColorIndex = 3 'alors cellule devient rouge
            nberror = nberror + 1 'alors j incremente le nberror
            End If
    en fait cela est souligné maintenant avec le debug

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Cells(i, k).ColorIndex = 3 'alors cellule devient rouge
    avec le message d'erreur suivant :

    run-time error 438 object doesn t support this property or method

    voila merci

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    ColorIndex ne s'applique pas à une cellule, mais à sa police, sa bordure, son fond, ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(i, k).Interior.ColorIndex = 3
    Un p'tit coup de F1 sur ColorIndex ça aide

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 344
    Points : 158
    Points
    158
    Par défaut
    ok merci je vais retenir la leçon

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Erreur 438 object doesn't support this property
    Par meritites dans le forum Access
    Réponses: 3
    Dernier message: 30/10/2014, 10h23
  2. Message d'erreur : unsubscriptable object
    Par Antonioni dans le forum Général Python
    Réponses: 8
    Dernier message: 31/07/2010, 09h33
  3. error sur page "Object doen't support this property"
    Par Javix dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 08/01/2009, 10h43
  4. Réponses: 1
    Dernier message: 06/03/2008, 20h24
  5. [Kylix] message erreur à l'ex
    Par JlouisI dans le forum EDI
    Réponses: 5
    Dernier message: 08/03/2003, 17h47

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