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 :

Effacer table excel à partir d'access code vba


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut Effacer table excel à partir d'access code vba
    Bonjour,
    J aimerai savoir est ce que c est possible d'effacer les ligne d'un classeur Excel on gardant les entité on utilisant un code vba a partir d'access?

    Par ce que j ai besoin de vider le classeur avant d'exporter les nouvelles données d'access vers EXcel. Le fichier Excel existe déjà j ai pas besoin de le recréé on utilisant un code sql j aimerai seulement effacer ce qu'Il contient.

    Alors si vous avez une idée comment fair, merci d'avance.

  2. #2
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Bonjour,

    C'est quand même plus simple de le recréer avec une exportation, plutôt que de le vider.

    Cependant, voici un exemple utilisant la référence Microsoft Excel (à ajouter au projet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim oApp As Excel.Application
    Set oApp = New Excel.Application
    Dim oS As Excel.Worksheet
    oApp.Workbooks.Open "monclasseur.xlsx"
    With oApp.Workbooks(1)
        .Worksheets("Feuil1").Range("A2", "Z65536").Delete
        .Save
        .Close
    End With
    oApp.Quit: Set oApp = Nothing

  3. #3
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 43
    Par défaut
    Citation Envoyé par Tofalu Voir le message
    Bonjour,

    C'est quand même plus simple de le recréer avec une exportation, plutôt que de le vider.

    Cependant, voici un exemple utilisant la référence Microsoft Excel (à ajouter au projet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim oApp As Excel.Application
    Set oApp = New Excel.Application
    Dim oS As Excel.Worksheet
    oApp.Workbooks.Open "monclasseur.xlsx"
    With oApp.Workbooks(1)
        .Worksheets("Feuil1").Range("A2", "Z65536").Delete
        .Save
        .Close
    End With
    oApp.Quit: Set oApp = Nothing

    Merci pour la réponse je vais essayer cette solution.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Avril 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Avril 2015
    Messages : 4
    Par défaut
    Bonjour, je reviens à propos de ce sujet car bien qu'ayant navigué sur plusieurs forums et trouvé pas mal d'infos à ce sujet, mon code ne fonctionne toujours pas.
    Je souhaite tout simplement à partir d'ACCESS en VBA, exporter une requête en fichier Excel, et supprimer des lignes de ce fichier en fonction de la valeur d'une cellule.
    Mon code fonctionne correctement pour l'export, mais les lignes ne sont pas supprimer lorsque j'ouvre le fichier.
    Pour vérifier si ma boucle pour supprimer les lignes fonctionnait bien, j'ai utilisé la fonction .Interior.ColorIndex = 46 pour mettre les lignes "normalement à supprimer" en rouge. Le code fonctionne bien, mais si je mets .EntireRow.Delete alors il ne se passe strictement rien...

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For l = 2 To DernLigne
            With xlsheet.Cells(l, 5)
                If xlsheet.Cells(l, 5).Value like "ESCOT*" Then
     
              'xlsheet.Cells(l, 5).EntireRow.Delete (1ere tentative)
             'xlsheet.Rows(l).EntireRow.Delete (2ieme tentative)
             xlsheet.Rows(l).Delete (3ieme tentative)
     
                End If
           End With
         Next l
    Merci pour votre aide!!!

Discussions similaires

  1. Ouvrir document Word à partir d'un formulaire Access(code VBA)
    Par protocoleigrp dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/06/2009, 16h22
  2. insertion dans une table excel à partir d'une requête access ?
    Par cameleon1881 dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/04/2009, 17h57
  3. Réponses: 2
    Dernier message: 11/06/2008, 14h38
  4. Réponses: 2
    Dernier message: 04/10/2006, 10h45
  5. Réponses: 1
    Dernier message: 09/12/2005, 19h12

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