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

Macros et VBA Excel Discussion :

problème transfert de données excel --> access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut problème transfert de données excel --> access
    Bonjour, comme indiqué dans le titre je veux transférer des données d'un tableaux Excel dans Access par l'intermédiaire du vba.
    Je pense avoir fait le plus gros du travail (créé 4 modules) mais visiblement cela ne fonctionne pas . Je ne peux pas exposer mon problème sur ce forum sachant qu'il y a 2 tableaux et 4 modules...
    Je n'est pas l'habitude d'aller sur des forums demander de l'aide, mais là je suis complètement désespéré .

    En vous remerciant.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP

    Citation Envoyé par Semoule Voir le message
    Je ne peux pas exposer mon problème sur ce forum sachant qu'il y a 2 tableaux et 4 modules...
    Pourquoi, il suffit de détailler ce que tu as fait, tout simplement et ce qui cloche.

    Merci également de nous dire si le code est lancé d'Access ou d'Excel.

    Philippe

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 2
    Par défaut
    Rebonjour, donc le code est fait à partir d'Excel.
    Il y a 2 tableaux que je dois transférer sur access:
    un tableau projet et un tableau tache.
    Ensuite je dois récupérer les numéros des taches dans un tableau appelé NumTache sur excel.
    J'ai donc créé 4 modules:

    -le 1er pour faire le lien entre excel et access et annonce les constante des 2 tableaux (il marche très bien)

    -le 2eme pour transférer les données du tableau projet dans access.(Il marche)

    -le 3eme pour transférer les données du tableau tache dans access.Il ne marche pas et m'affiche: "erreur d'exécution '1004' erreur définie par l'application ou par l'objet" je vous met le code ci-dessous.

    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
     
    Sub ajouterTaches()
     
    'Données a enregistrer
    Dim nomTache As String
    Dim dateDebutPrev As Date
    Dim dateFinPrev As Date
    Dim chargeJourHommePrev As Currency
    Dim numIntervenant As Integer
     
    'variables nécessaires pour le traitement de l'enregistrement
    Dim lgTacheEnCours As Integer ' indice de parcours du tableau des taches
     
    ' le traitement
     
        '--> le traitement concernant l'enregistrement proprement dit
        lgTacheEnCours = lgDepartTache  'initialisation de la première tache a traiter
     
        nomTache = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colNomTache)
        While (nomTache <> "")
     
        'récupération des informations à enregister dans la base de données
     
            dateDebutPrev = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colDateDebutPrev)
            dateFinPrev = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colDateFinPrev)
            chargeJourHommePrev = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colChargeJourHommePrev)
            numIntervenant = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colNumIntervenant)
     
             ' enregistrement de la tache dans la base de données : appel du sous-programme enregistrerUneTache()
            Call enregistrerUneTache(nomTache, dateDebutPrev, dateFinPrev, chargeJourHommePrev, numIntervenant)
     
            'Passage à l'employé suivante
            lgTacheEnCours = lgTacheEnCours + 1
            nomTache = Worksheets(RECAPITULATION).Cells(lgTacheEnCours, colNomTache)
     
        Wend
        MsgBox ("Les taches ont bien été enregistrées dans la base de données.")
     
    End Sub
    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
     
    Sub enregistrerUneTache(nomTache As String, dateDebutPrev As Date, dateFinPrev As Date, chargeJourHommePrev As Currency, numIntervenant As Integer)
     
       Dim requeteSQL As String
     
       'construction de la requete d'insertion
        requeteSQL = requeteAjoutTache(nomTache, dateDebutPrev, dateFinPrev, chargeJourHommePrev, numIntervenant)
     
        'ouverture de la base de données de Gestion de projets
        Call ouvertureBase
     
        'exécution de la requete d'insertion
        cnxBase.Execute (requeteSQL)
     
        'ouverture de la base de données de Gestion de projets
        Call fermetureBase
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Function requeteAjoutTache(nomTache As String, dateDebutPrev As Date, dateFinPrev As Date, chargeJourHommePrev As Currency, numIntervenant As Integer)
     
    Dim strSQL As String
    Dim chargeAvecPoint As String
     
     
        strSQL = "INSERT INTO TACHE (nomTache, dateDebutPrev, dateFinPrev, chargeJourHommePrev, numIntervenant)" & _
                            " VALUES(""" & nomTache & """, """ & dateDebutPrev & """, """ & dateFinPrev & """, """ & chargeJourHommePrev & """, """ & numIntervenant & """)"
     
     
        'renvoie la requete SQL ainsi construite
        requeteAjoutTache = strSQL
     
    End Function
    -le 4eme pour récupérer tous les numéro des taches dans le tableau NumTache.

    Voila j'aimerais que vous m'aidiez a trouver l'erreur du module numéro 3
    En vous remerciant

  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 : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Si, déjà, tu nous disais sur quelle ligne est l'erreur...
    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!

Discussions similaires

  1. [XL-2007] Transfert de données Excel vers access création de Doublons
    Par soumilo dans le forum Excel
    Réponses: 2
    Dernier message: 16/07/2012, 12h12
  2. Transfert de données EXCEL Vers Access
    Par Mon_ami dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/12/2010, 18h57
  3. Transfert de données excel vers access
    Par Isabelle27 dans le forum Access
    Réponses: 3
    Dernier message: 22/03/2007, 07h11
  4. Problème Import de données Excel dans Access
    Par francoisd dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2006, 17h46
  5. problème pour importer données excel dans Access
    Par sarah67 dans le forum Access
    Réponses: 8
    Dernier message: 20/02/2006, 08h17

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