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 :

Erreur "incompatibilité de type" lors import dans table Access


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut Erreur "incompatibilité de type" lors import dans table Access
    Bonjour,

    J'utilise une macro pour importer des données dans une table Acess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 15 To 50
    strSQL = "INSERT INTO IMPORTSAP2009 VALUES ('" & Range("ad" & i) & "', '" & Range("ac" & i) & "', '" & Range("z" & i) & "', '" & Range("aa" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', # 01/01/2011 #, # 01/01/2011 #, " & Range("m" & i) & ", " & Range("m" & i) & ", " & Range("m" & i) & ")"
    Db.Execute strSQL
    Next i
    Le programme me renvoie une erreur "incompatibilité de type" je pense que le probléme viens du type des champs dans la table Acess.

    Le champ AB est une date et le champ m numérique . Pouvez vous m'aider sur la synthaxe à utiliser.

    Merci de votre aide

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Et que retourne la variable strSQL ?
    Jérôme

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut
    Merci de votre reponse, je ne suis pas certain d ela commentaire la variable strsql est censée excécuter l'instruction SQL c'est cette instruction qui declenche l'erreur vba .

    Encore merci

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    C'est bien pour cela que je te demande ce que contient strSQL au moment de l'execution

    avant db.execute

    Il faudrait aussi avoir la structure de la table de destination (Champs + type)
    Jérôme

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 78
    Points : 63
    Points
    63
    Par défaut
    merci de ton aide
    voici le code complet de la macro

    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 INSERTB2011()
    Dim Db As DAO.Database
    Dim strSQL As String
    Dim derlign As Long, i As Long
     
    'connexion à la base
    Set Db = DAO.OpenDatabase("D:\Base\BaseP&L.mdb", False, False)
     
    '
    For i = 15 To 50
    strSQL = "INSERT INTO IMPORTSAP2009 VALUES ('" & Range("ad" & i) & "', '" & Range("ac" & i) & "', '" & Range("z" & i) & "', '" & Range("aa" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', '" & Range("ab" & i) & "', # 01/01/2011 #, # 01/01/2011 #, " & Range("m" & i) & ", " & Range("m" & i) & ", " & Range("m" & i) & ")"
    Db.Execute strSQL
    Next i
     
    'deconnexion de la base
    Db.Close
     
    End Sub
    Et je joins la structure de la table

    Encore merci

  6. #6
    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
    Tu ne réponds toujours pas à la question:
    Que contient la variable strSQL juste avant le Db.Execute?
    jfontaine t'a donné l'instruction à insérer dans ton code.
    Si tu veux pouvoir faire un copier/coller du résultat, utilise l'instruction
    et regarde dans la fenêtre d'exécution de l'éditeur VBA (Ctrl+G).
    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!

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

Discussions similaires

  1. [A-07] Erreur n°13 : Incompatibilité de type
    Par Leimi dans le forum VBA Access
    Réponses: 2
    Dernier message: 17/03/2009, 11h15
  2. Erreur d'incompatibilité de types
    Par étoile de mer dans le forum Débuter
    Réponses: 27
    Dernier message: 01/06/2008, 17h14
  3. DLookup, Erreur d'incompatibilité de type (13)
    Par athos7776 dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/08/2007, 17h25
  4. Erreur 13 : incompatibilité de type
    Par Donatelli dans le forum Access
    Réponses: 1
    Dernier message: 03/01/2007, 12h19
  5. [VBA-A] ADO - Erreur 13 Incompatibilité de Type
    Par db30 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/04/2006, 14h30

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