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

VBA Access Discussion :

Conversion txt -> integer en VBA dans Access sur un fichier Excel


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 11
    Par défaut Conversion txt -> integer en VBA dans Access sur un fichier Excel
    Bonjour,

    J'importe un fichier Excel dans ma base de données Access avec un code VBA :

    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
    Sub ImportExcel( _
      ByVal strChemin As String, _
      ByVal varFeuilles As Variant, _
      ByVal blnNoms As Boolean, _
      ByVal strTable As String _
      )
     
      ' Déclaration des variables
      Dim strFeuille As Variant
     
      ' Est-ce que le classeur Excel existe ?
      If Dir(strChemin) = "" Then
        MsgBox "Le classeur ['" & strChemin & "] est introuvable.", vbExclamation
        Exit Sub
      End If
     
      ' Vidage de la table si nécessaire
      On Error GoTo ImportExcelErr
      If MsgBox("Souhaitez-vous vider la table [" & strTable & "] avant l'importation ?", _
        vbQuestion + vbYesNo) = vbYes Then
        CurrentDb.Execute "DELETE * FROM [" & strTable & "];"
      End If
      ' Procédure d'importation
      For Each strFeuille In varFeuilles
        DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, _
          strTable, strChemin, blnNoms, strFeuille & "!"
      Next
     
      ' Un p'tit message pour terminer :-)
      MsgBox "Opération terminée !", vbInformation
      Exit Sub
     
    ImportExcelErr:
      MsgBox "Erreur d'importation : " & Err.Description, vbExclamation
      Exit Sub
    End Sub
     
    Sub import()
     Dim varFeuilles As Variant
     
      ' Liste des feuilles Excel à importer
      varFeuilles = Array("stocks")
     
      ' Importation proprement dite
      ImportExcel "C:\\D\Desktop\NAE_stocks.xlsx", _
        varFeuilles, True, "stocks"
     
    End Sub
    Je souhaiterai modifier en VBA un des champs du fichier qui est de type texte sur excel en Integer dans ma base de donnée.

    Avez vous des pistes ? Je n'ai jamais codé en VBA. Merci de votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    Est-ce que cela te pose un problème ? D'après moi Access devrait faire la conversion sans souci.

    Sinon, il faut passer par une table intermédiaire qui à la même structure que le fichier Excel puis faire une requête de conversion.
    On ne peut pas changer le type des données lues dans Excel à la volée avec le TransferSpreadSheet.

    Une autre solution est de "linker" le fichier Excel comme une table puis de faire une requête d'ajout.
    Ce n'est pas toujours possible car cela dépend de la structure de ton Excel.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

Discussions similaires

  1. [AC-2007] Transposer une table access sur un fichier excel avec VBA
    Par christophe31 dans le forum VBA Access
    Réponses: 1
    Dernier message: 27/04/2010, 15h51
  2. [VBA] Excel dans access (utilisation d'objets excel dans access)
    Par skyarnangel dans le forum VBA Access
    Réponses: 10
    Dernier message: 02/02/2009, 10h59
  3. comment exécuter ma fonction VBA dans Access
    Par kapotocho dans le forum VBA Access
    Réponses: 23
    Dernier message: 18/01/2008, 16h43
  4. Récupération du mot de passe d'un module VBA dans access
    Par Doctor_M_387 dans le forum Access
    Réponses: 5
    Dernier message: 05/04/2006, 13h46
  5. [VBA] Requête SQL sur un fichier excel ?
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/01/2006, 23h06

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