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 d’exécution à l'insertion [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Par défaut Erreur d’exécution à l'insertion
    Bonjour,

    mon problème aujourd'hui se trouve lorsque j'effectue un INSERT INTO. Mon code est stocké dans un fichier excel et la base de données est un autre fichier excel
    Lorsque j'effectue mon code comme ci dessous l'insertion s'effectue comme il faut et je le retrouve bien dans ma base de donnée :

    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
    Public Const users = "Utilisateurs$"
     
    Public Sub OpenConnexion(Fichier)
        Set Connexion = CreateObject("ADODB.Connection")
        With Connexion
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
            & Fichier & ";Extended Properties=""Excel 12.0;HDR=YES"";"
            .Open
        End With
    End Sub
     
    Public Function Insert_Creation() As Boolean
    On Error GoTo Err_Insert
     
        Dim adoCMD As Object
        Dim adoRS As Object
        Dim strSQL As String
     
    'Définir la requête à effectuer pour l'insertion
        strSQL = "INSERT INTO [" & users & "] ([Login], [Nom])" & vbCrLf & _
                "VALUES (p1,p2);"
        OpenConnexion (Fichier)
     
    'Définition des parametres à affecter à chaque valeur (p1,p2,...,px)
        Set adoCMD = CreateObject("ADODB.Command")
        With adoCMD
            .ActiveConnection = Connexion
            .CommandType = adCmdText
            .Parameters.Append .CreateParameter("p1", adVarChar, adParamInput, 50, "Ctoto")
            .Parameters.Append .CreateParameter("p2", adVarChar, adParamInput, 50, "toto")
            .CommandText = strSQL
            Set adoRS = .Execute
        End With
     
    'Retourne vrai quand l'execution s'effectue sans erreur
        Insert_Creation = True
     
    Exit_Insert:
    'Fermeture des connections
        Set adoRS = Nothing
        Set adoCMD = Nothing
        Exit Function
     
    Err_Insert:
    'En cas d'erreur renvoi d'un msgbox
        MsgBox ("Function: Insert() err")
        Insert_Creation = False
        Resume Exit_Insert
     
    End Function
    or quand j'utilise le code avec une autre feuille le code ne fonctionne plus et s’arrête lors de l’exécution comme dans ce 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
    Public Const ano = "Anomalies$"
     
    Public Function Insert_Creation() As Boolean
    On Error GoTo Err_Insert
     
        Dim adoCMD As Object
        Dim adoRS As Object
        Dim strSQL As String
     
    'Définir la requête à effectuer pour l'insertion
        strSQL = "INSERT INTO [" & ano & "] ([IdAnom], [Libelle])" & vbCrLf & _
                "VALUES (p1,p2);"
        OpenConnexion (Fichier)
     
    'Définition des parametres à affecter à chaque valeur (p1,p2,...,px)
        Set adoCMD = CreateObject("ADODB.Command")
        With adoCMD
            .ActiveConnection = Connexion
            .CommandType = adCmdText
            .Parameters.Append .CreateParameter("p1", adVarChar, adParamInput, 50, "CME1251")
            .Parameters.Append .CreateParameter("p2", adVarChar, adParamInput, 50, "toto")
            .CommandText = strSQL
            Set adoRS = .Execute
        End With
     
    'Retourne vrai quand l'execution s'effectue sans erreur
        Insert_Creation = True
     
    Exit_Insert:
    'Fermeture des connections
        Set adoRS = Nothing
        Set adoCMD = Nothing
        Exit Function
     
    Err_Insert:
    'En cas d'erreur renvoi d'un msgbox
        MsgBox ("Function: Insert() err")
        Insert_Creation = False
        Resume Exit_Insert
     
    End Function
    Si vous avez des raisons possibles pour la résolution de mon problème je suis preneur (j'ai déjà bien regarder si les noms étaient bien les mêmes et je vais encore vérifier).
    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 16
    Par défaut
    J'ai trouvé mon erreur les cases dans les quels je faisait mon transfert n'était pas du bon type en le changeant dans mon fichier destination mon problème a été résolu.

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

Discussions similaires

  1. [SQL] Erreur lors de INSERT INTO => WHERE
    Par DeFCrew dans le forum Access
    Réponses: 14
    Dernier message: 07/08/2006, 17h26
  2. Réponses: 2
    Dernier message: 15/09/2005, 16h08
  3. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 13h03
  4. Réponses: 6
    Dernier message: 02/06/2005, 13h44
  5. erreur de formulaire, insertion BD
    Par bachilbouzouk dans le forum ASP
    Réponses: 7
    Dernier message: 12/04/2005, 09h22

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