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 :

pb de déclaration d'objet dans vba


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Par défaut pb de déclaration d'objet dans vba
    bonjour a tous,
    je débute en vba et je me trouve face a un probleme.
    Ce que je cherche a faire est assez simple, en fait je liste tous les fichier excel présent dans mon repertoire pour pouvoir ensuite ajouter une ligne de données dans chacun d'eux (suite a un bug constaté lors des importation de feuilles excel dans une base de donnée access). Or a chaque éxecution de mon code j'obtiens le message d'erreur : "objet requis".
    Pour plus d'information je vous met a disposition mon code.

    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
     
    Sub Commande3_Click()
    On Error GoTo Err_Commande3_Click
     
        Dim xapp As Excel.Application
        Dim xlsheet As Excel.Worksheet
        Dim xlbook As Excel.Workbook
        Dim f As String
     
       Set xapp = CreateObject("Excel.Application")
     
       f = "aaaaa"
     
    With Application.FileSearch
    .LookIn = "C:\Mes documents\Tracabilité\BAG"
    .filename = ".xls"
     
        'recherche du nombre de fichiers a importer
        If .Execute > 0 Then
            MsgBox "Il y a " & .FoundFiles.Count & _
            " fichier(s) trouvé(s)."
     
           'insertion de la ligne indiquant a Access le type de données
     
     For i = 1 To .FoundFiles.Count
           MsgBox .FoundFiles(i)
           Set xlbook = xapp.Workbooks.Open(.FoundFiles(i))
     
                xlsheet.Range("A2:G2").EntireRow.Insert shift:=xlShiftDown
                xlsheet.Cells("A2").Value = f
                xlsheet.Cells("B2").Value = f
                xlsheet.Cells("C2").Value = f
                xlsheet.Cells("D2").Value = f
                xlsheet.Cells("E2").Value = f
                xlsheet.Cells("F2").Value = f
                xlbook.Save
                xlsheet = Nothing
                xlbook = Nothing
            Next i
     
     
     
            'importation des fichiers trouvés
            For i = 1 To .FoundFiles.Count
                fichier = .FoundFiles(i)
                 DoCmd.TransferSpreadsheet transfertype:=acImport, _
                tablename:="BAG", _
                Hasfieldnames:=True, _
                filename:=.FoundFiles(i), _
                Range:=("A:G")
     
     
            Next i
     
        Else
            MsgBox "Aucun fichier trouvé."
        End If
    End With
     
     MsgBox "Importation terminée"
     
    Exit_Commande3_Click:
        Exit Sub
     
    Err_Commande3_Click:
        MsgBox Err.Description
        MsgBox "Le fichier " & fichier & " est peut etre endommagé."
     
     
        Resume Exit_Commande3_Click
     
    End Sub
    J'espere que vous pouurez m'aider à trouver une solution merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Salut et bienvenu sur le forum,

    Sur quelle ligne apparait l'erreur ?

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 155
    Par défaut
    Salut,

    t'a pas défini ton objet XlSheet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XlSheet=XlBook.WorkSheet("TaFeuille")
    donc voilà; j'espère que l'erreur se trouve à ce niveau

  4. #4
    Membre averti
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Par défaut
    salut Muhad'hib,
    Je n'ai pas de ligne surligner en jaune. Ce qui ne me facilite pas la chose. J'ai deja été sur la base de connaissance de microsoft qui m'ont conseillé de réinstaller Access, ce que j'ai fait mais le probleme n'est toujours pas résolu et je t'avouerai que je n'ai pas trop de methode éfficace pour éffectuer un bon déboguage. Pour répondre a ta question je pense que c'est le ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set xapp = CreateObject(Excel.Application)
    qui pose probleme.

  5. #5
    Membre averti
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Par défaut
    merci romrai,
    ça avance je n'ai plus la meme erreur maintenant j'ai : "incompatibilité de type". Je suppose que c'est moins grave mais je ne comprend pas ce qui est testé pour qu'il me mette ce message d'erreur.
    pourtant j'ai l'impression que mes declarations de variables sont bonnes.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 155
    Par défaut
    Salut,

    je pense que ton problème vient de l'importation.

    essaie plutôt ça voir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     DoCmd.TransferSpreadsheet transfertype:=acImport, 8,_
                tablename:="BAG", _
                filename:=.FoundFiles(i), _
                Hasfieldnames:=True, _    
                Range:=("A:G")

  7. #7
    Expert confirmé
    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
    Par défaut
    bjr,

    Citation Envoyé par bbgprog
    Je n'ai pas de ligne surligner en jaune. Ce qui ne me facilite pas la chose.
    Commente la ligne "On Error GoTo Err_Commande3_Click" le temps du débogage...

  8. #8
    Membre averti
    Inscrit en
    Août 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 17
    Par défaut
    pour l'incompatibilité de type, il me surligne en jaune la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xlsheet.Cells("A2").Value = f
    Excel imposerai-t-il un format de cellule par défaut?
    et si oui, comment contourner cette contrainte
    Au fait merci a tous ceux qui m'aide a résoudre ce probleme et pour votre rapidité a répondre

  9. #9
    Expert confirmé
    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
    Par défaut
    essaye plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlsheet.Range("A2").Value = f

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

Discussions similaires

  1. Collection d'objets dans VBA
    Par nawel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/08/2008, 10h41
  2. Réponses: 6
    Dernier message: 05/11/2007, 14h51
  3. Réponses: 2
    Dernier message: 08/02/2007, 10h20
  4. [VBA-W]Retrouvez des objets dans son document
    Par tazamorte dans le forum VBA Word
    Réponses: 11
    Dernier message: 06/02/2007, 14h47
  5. Réponses: 2
    Dernier message: 02/06/2006, 13h47

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