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 :

Insérer une ligne blanche dans un fichier EXCEL à partir d'ACCESS


Sujet :

VBA Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Insérer une ligne blanche dans un fichier EXCEL à partir d'ACCESS
    Bonjour,
    j'aurais besoin de votre aide. J'aimerais créer un bouton dans Access qui permet d'insérer à la ligne 1 une ligne vierge dans un fichier Excel et par la suite donner comme valeur à la cellule A1 : fiche B1 : nom C1 : prenom. J'aimerais que se soit invisible pour l'utilisateur. Est-ce que vous pouvez m'aider? J'ai fouillé un peu partout sur les forums et je ne trouve pas...
    Fichier : C:\fichier.xls
    Feuille : Sheet1

    l_WorkSheet.Rows(1).Insert

    Merci

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Septembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Septembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai une commande qui importe les données d'un fichier EXCEL vers ma table Access.

    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
     
    Private Sub Importer_Click()
     
     
    Dim varFeuilles As Variant
     
    ' Liste des feuilles Excel à importer
    varFeuilles = Array("Sheet1")
    ' Importation proprement dite
    ImportExcel pathfichier, varFeuilles, True, "T_INSCRIPTION"
     
     
    End Sub
    Et la fonction :

    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
     
    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
     
      DoCmd.SetWarnings False
      DoCmd.TransferSpreadsheet acImport, 8, "T_INSCRIPTION", strChemin, True, "A1:C2000"
      DoCmd.SetWarnings True
      MsgBox "Opération terminée !", vbInformation
      Exit Sub
     
    ImportExcelErr:
      MsgBox "Erreur d'importation : " & Err.Description, vbExclamation
      Exit Sub
    End Sub
    Avec ce code, mon entête de colonne doit correspondre avec le nom de mon champ dans ma table T_INSCRIPTION. J'aimerais enregistrer A1:A2000 vers champ fiche, B1:2000 vers nom et C1:C2000 vers prenom.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour,
    Pour répondre à ton premier post : oui, c'est possible de modifier le fichier Excel avant de l'importer. Néanmoins, puis-je te proposer une solution plus simple ?
    1. Tu importes ton fichier Excel dans une table temporaire dans MS Access.
    2. Tu peux faire toutes les vérifications que tu veux sur cette table temporaire (format de date, valeur par défaut, ...)
    3. Tu ajoutes (requête INSERT INTO) cette table à ta table de production qui elle aura les noms de colonnes appropriés.
    4. tu détruis la table temporaire.

    Tout ceci peut se faire facilement avec des requêtes.

Discussions similaires

  1. insérer ou remplacer une ligne string dans un fichier texte ?
    Par Night_Wolf1619 dans le forum Débuter
    Réponses: 34
    Dernier message: 16/05/2013, 11h49
  2. Insérer une nouvelle colonne dans un fichier Excel
    Par TopCao dans le forum MATLAB
    Réponses: 8
    Dernier message: 11/10/2011, 09h29
  3. Réponses: 1
    Dernier message: 17/03/2011, 17h20
  4. Réponses: 8
    Dernier message: 11/12/2007, 17h04
  5. Réponses: 14
    Dernier message: 06/02/2006, 11h31

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