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

Access Discussion :

Supprimer des lignes Excel depuis Access


Sujet :

Access

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut Supprimer des lignes Excel depuis Access
    Bonjour,

    Je souhaite supprimer la plage A3:GM50 dans la feuille "Sheet1" du classeur "Receptacle Opera", voila le code que j'utilise :

    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
    Private Sub Import_Click()
     
    Dim xlBook As Excel.Workbook
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim vtemp As Variant
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("U:\DEFP\DFE\Dph\DPHR\CNP organisation\Receptacle_Opera.xls")
    Set xlSheet = xlSheet.sheet1
     
    vtemp = xlSheet.Range("A3:GM50")
     
    xlSheet.Rows(vtemp).Delete
     
    End Sub
    J'ai un bog avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlSheet = xlSheet.sheet1
    Access me dit : Membre de methode ou données introuvable

    C'est la premiere fois que j'essaye de piloter Excel depuis Access, merci d'avance de votre aide !!!

  2. #2
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    s majuscule ?? Sheet1 et non sheet1 ! je dis ça comme ça, sinon je sais pas

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci mais ca ne change pas le problème... Merci de ta réponse !

  4. #4
    Membre habitué Avatar de RGShoop
    Homme Profil pro
    Freelance
    Inscrit en
    Août 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 112
    Points : 154
    Points
    154
    Par défaut
    Salut,

    Sheet1 est le nom de ta feuille active dans le classeur Excel "Receptacle_Opera" ou bien a t'elle un autre nom ?

    Si tu veux selectionner la première feuille, alors le code est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlSheet = xlSheet.sheet(1)

    Si tu veux sélectionner la feuille active du classeur ouvert, alors le code est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlSheet = xlSheet.ActiveSheet
    A+ RGShoop

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci, la feuille sur laquelle je veux agir s'appelle Sheet1, c'est la première et dernière feuille (unique feuille), et c'est aussi la feuille active. J'ai essayé toutes tes propositions mais j'ai toujours le même message d'erreur...

    Merci qd meme a toi...

    Il n'y a pas de solution...

  6. #6
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Salut,

    Normal que ça ne marche pas, le bon code est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set xlSheet = xlBook.sheet(1)

  7. #7
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    Merci a toi, j'ai toujours un message d'erreur !
    Mais le point positif c'est qu'il a changé . Maintenant j'ai le message d'erreur suivant :
    Erreur d'execution 438 :
    Propriété ou méthode non gérée par cet objet


    Merci a toi ça avance...

  8. #8
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    L'erreur est toujours sur la même ligne ?

  9. #9
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    oui la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlSheet = xlBook.Sheet(1)

  10. #10
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    oups je me suis planté dans le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set xlSheet = xlBook.Worksheets(1)
    Désolé...

  11. #11
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    merci à toi !!!!! j'ai plus de bug sur la ligne Set xlSheet, mais... j'ai un autre bug...

    Maintenant j'ai le message d'erreur :
    Erreur d'execution '13'
    Incompatibilité de type


    Cette fois c'est la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlSheet.Rows(vtemp).Delete
    qui pose problème.

    Désolé je suis pas doué !

  12. #12
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Normal dans le paranthèse il faut mettre un integer et non un double. Le chiffre doit correspondre au numéro de la ligne que tu veux delete

  13. #13
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 177
    Points : 55
    Points
    55
    Par défaut
    J'ai pas tout compris...

  14. #14
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    En gros ta fonction xlSheet.Rows(vtemp).Delete prend vtemp comme Variant
    ----> Dim vtemp As Variant

    Or vtemp n'est pas à utiliser ici. Il faut que tu mettes un chiffre qui correspondent à ta ligne
    ----> 0 pour la 1ere ligne, 1 pour la 2nd etc etc ......

  15. #15
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    pas besoin de vTemp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xlSheet.Range("A3:GM50").Delete
    devrai être bon ..?

  16. #16
    Membre du Club
    Homme Profil pro
    Employer
    Inscrit en
    Août 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Employer
    Secteur : Santé

    Informations forums :
    Inscription : Août 2015
    Messages : 98
    Points : 58
    Points
    58
    Par défaut
    Bonsoir,

    Je n'est pas teste si le code suivant marche ou pas, mais j'aimerai savoir si on peut supprimé l'intégralité des ligne (De "A" au "F" dans mon exemple) sauf la première ligne
    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
    Private Sub Import_Click()
     
    Dim xlBook As Excel.Workbook
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim vtemp As Variant
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Open("D:\Ne pas supprimé\PartagesApplications\BD_Externe\Externe_liste.xlsx")
    Set xlSheet = xlSheet.sheet1
     
    xlSheet.Range("A3:GM50").Delete
     
    Set xlSheet = xlBook.Worksheets(1)
     
    End Sub

  17. #17
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    De mémoire remplacer la L11 par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlSheet.Rows("2:" & Rows.Count).ClearContents
    et n'oubliez pas d'adapter la L9 fonction de votre IHM
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  18. #18
    Membre du Club
    Homme Profil pro
    Employer
    Inscrit en
    Août 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Employer
    Secteur : Santé

    Informations forums :
    Inscription : Août 2015
    Messages : 98
    Points : 58
    Points
    58
    Par défaut
    Bonsoir,

    Il m'affiche l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Une erreur de compilation, type définie par l'utilisateur non définie

  19. #19
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Avez-vous pris le temps de lire tous les posts du sujet ?
    Post#10 on signale la syntaxe correcte!

    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
    Private Sub Import_Click()
        Dim xlApp As Excel.Application
        Dim xlwbk As Excel.Workbook
        Dim xlwbs As Excel.Worksheet
        Dim FileName As String
     
        FileName = "C:\Users\Public\Desktop\NomduClasseur.xlsx"
        Set xlApp = CreateObject("Excel.Application")
        Set xlwbk = xlApp.Workbooks.Open(FileName)
        Set xlwbs = xlwbk.Worksheets("NomdelaFeuille")
        xlApp.Visible = True
     
        xlwbs.Rows("2:" & Rows.Count).ClearContents
     
    xlwbk.Save
    xlwbk.Close
    xlApp.Application.Quit
    Set xlwbs = Nothing
    Set xlwbk = Nothing
    Set xlApp = Nothing
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

Discussions similaires

  1. [AC-2007] Envoyer par Outlook des fichiers Excel depuis Access
    Par Bernard67 dans le forum VBA Access
    Réponses: 6
    Dernier message: 15/06/2012, 09h32
  2. Lire des cellules Excel depuis Access
    Par planete.gonz dans le forum VBA Access
    Réponses: 4
    Dernier message: 08/01/2009, 11h40
  3. Réponses: 5
    Dernier message: 11/08/2008, 15h25
  4. Réponses: 2
    Dernier message: 13/11/2007, 10h19
  5. [VBA][Excel]supprimer des lignes vierges
    Par Angel79 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/01/2006, 13h17

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