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 :

Soucis dans un code VBA [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut Soucis dans un code VBA
    Bonjour,

    J'ai un code VBA qui permet d'exporter des données Excel vers Access.

    Voilà 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
    Sub Export_Donnée_Excel_Access()
    
    'permet de controler la ligne où le fichier s'arrete
    Sheets("Film").Select
    Range("B2").Select
    
    'Défini ma base access et mon fichier excel
    Dim MaBase As Object
    Dim Fichier As String
    Set MaBase = GetObject("C:\Users\Guillaume\Desktop\VBA\Projet Cinéma\ProjetCinema.accdb")
    Fichier = ActiveWorkbook.FullName
    
    CurrentDb.Execute "Delete From Film"
    CurrentDb.Execute "Delete From Cinema"
    
    On Error GoTo Error_Export:
    MaBase.DoCmd.TransferSpreadsheet acImport, 8, "Film", "C:\Users\Guillaume\Desktop\VBA\Projet Cinéma\Formulaire Excel.xlsm", True, "Film!B1:C50"
    MaBase.DoCmd.TransferSpreadsheet acImport, 8, "Cinema", "C:\Users\Guillaume\Desktop\VBA\Projet Cinéma\Formulaire Excel.xlsm", True, "Cinema!B1:F50"
    MaBase.DoCmd.TransferSpreadsheet acImport, 8, "Arrondissement", "C:\Users\Guillaume\Desktop\VBA\Projet Cinéma\Formulaire Excel.xlsm", True, "Arrondissement!B1:D50"
    'dans mon cas j'exporte de la cellule ... à ...
    
    DoCmd.Quit acSave
    Sheets("Saisie").Activate
    MsgBox "Exportation des données est effectuée correctement.", vbInformation, "Exportation": Exit Sub
    
    'MaBase = Nothing
    
    Error_Export:
    MsgBox "Attention, un problème est survenu pendant l'exportation, merci de vérifier les données.", vbExclamation, "ERREUR Exportation": Exit Sub
    
    End Sub
    Mon problème est que lorsque je met les deux lignes vertes, l'export se fait ; mais lorsque je rajoute une troisième ligne de code (en rouge), l'export ne se fait plus !!

    J'ai cherché sur plusieurs forums et dans plusieurs livres mais je ne comprend pas pourquoi l'export ce fait plus !!

    Merci de m'aider !!

    Cordialement,
    Guiggs

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Est-ce que tu as un message d'erreur ? Est-ce que ta feuille Excel contient des entêtes ? Est-ce que tu as ce problème si tu supprimes les lignes vertes ? Est-ce que la table existe dans la base Access. Est-ce que tu peux faire la manip manuellement ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut Réponse à Daniel
    Bonjour,

    Oui j'ai le message d'erreur qui est dans mon code :
    "Attention, un problème est survenu pendant l'exportation, merci de vérifier les données."

    Oui ma feuille Excel contient des entêtes et j'ai vérifié les noms plusieurs fois !!

    Si je supprime les lignes vertes, le problème reste !!

    Oui j'ai essayé sans créer et en créant la table dans Access mais toujours le soucis !!

    Et la manipulation manuelle se fait !!

    Je peux vous envoyer le fichier si vous voulez ?!

    Cordialement,
    Guiggs

  4. #4
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 944
    Par défaut
    Bonsoir,
    le message d'erreur est clair : tu as un problème de données dans un ou plusieurs champs sur un ou plusieurs enregistrements. Il s'agit la plupart du temps de données incompatibles (du texte dans un champ numérique, champ trop petit pour contenir les données, champ qui n'accepte pas le nul, un problème de doublons d'index ...)

    Je te conseille de vérifier les cellules de tes feuilles avant de les exporter ou essayer d'importer tes classeurs à partir d'Access car une table de rapport d'erreurs d'importation est généré automatiquement.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 19
    Par défaut Réponse à tee_grandbois
    Bonjour,

    Merci j'ai vérifié toutes mes cellules et il y avait bien une seule cellule en champ numérique !! Ce qui faisait que l'export ne marchait pas !!

    Merci beaucoup !!

    Cordialement,
    Guiggs

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

Discussions similaires

  1. erreur dans le code vba
    Par jihad33 dans le forum VBA Access
    Réponses: 5
    Dernier message: 03/01/2008, 14h00
  2. Erreur dans un code VBA
    Par steevassie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/12/2007, 20h26
  3. Utilisation de la roulette dans le code VBA
    Par electrosat03 dans le forum VBA Access
    Réponses: 6
    Dernier message: 04/07/2007, 14h42
  4. [VBA]Comment, dans le code VBA, hasher un mot de passe ?
    Par lord abortion dans le forum VBA Access
    Réponses: 6
    Dernier message: 18/04/2007, 16h41
  5. Réponses: 2
    Dernier message: 03/05/2006, 08h33

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