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

VB.NET Discussion :

Récupérer toutes les pages sauf certaines


Sujet :

VB.NET

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Points : 145
    Points
    145
    Par défaut Récupérer toutes les pages sauf certaines
    Bonjour,
    J'ai ce code me permettant de récupérer les feuilles sur excel pour les mettre dans une Listbox et je souhaiterais que certaine feuille comme la feuille "accueil" n'apparaissent pas merci
    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
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim XlApp As Object = Nothing, Workbook As Object = Nothing, Sheets As Object = Nothing
            XlApp = GetObject("Excel.Application")
            'XlApp.visible = True'
            Workbook = XlApp.Workbooks.Open(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\Dossier final - Copie.exe ")
            Sheets = Workbook.Sheets(2)
     
            Dim strSheetName As New List(Of String)
            For Each Sheets In XlApp.Sheets
                strSheetName.Add(Sheets.Name)
                ListBox1.Items.Add(Sheets.Name)
            Next
            Workbook.Close()
            XlApp.Quit()
        End Sub

  2. #2
    Membre averti Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Points : 372
    Points
    372
    Par défaut
    Bonjour,

    Le plus simple est de placer une condition (sous réserve que tu connaisses par avance le nom des feuilles que tu ne veux pas récupérer)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each Sheets In XlApp.Sheets
     if sheets.name="accueil" then
       'il ne se passe rien
     else
       strSheetName.Add(Sheets.Name)
       ListBox1.Items.Add(Sheets.Name)
     end if
    Next

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Points : 145
    Points
    145
    Par défaut
    Parfait cela marche merci beaucoup

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Points : 10 166
    Points
    10 166
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Tu as oublié ta virgule dans cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XlApp = GetObject(, "Excel.Application")
    Et surtout, cela marche parce que Miicrosoft.VisualBasic a été ajouté automatiquement à ton projet. Parce que, si on le décoche dans les propriétés du Projet, cela plante:

    Nom : MicrosoftVisualBasic1.jpg
Affichages : 164
Taille : 327,2 Ko

    Et je suis sûr que ce serait pareil pour Create Object.

    Également, avec cette méthode, le Framework crée un wrapper ad-hoc pour Excel. C'est préférable d'utiliser la série des wrappers optimisés pour Office fournis par Microsoft, les Primary Interop Assemblies Ils commencent tous par Microsoft.Office,Interop

    Dans ton cas c'est Microsoft.Office.interop.Excel qui t'intéresse. S'ils ne sont pas sur ton disque, tu peux les récupérer sur le site de microsoft

    Et le fais ma propre publicité en t'envoyant vers les sources VB.NET.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Points : 145
    Points
    145
    Par défaut
    J'avais déjà ajouté les référence/interop il y a longtemps et merci pour les conseils

  6. #6
    Membre émérite Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 475
    Points : 2 252
    Points
    2 252
    Par défaut
    Bonjour,
    J'arrive un peut tard mais comme c'est rigolo!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Workbook As Workbook = XlApp.Workbooks.Open(Fichier)
    ListBox1.Items.AddRange(Workbook.Sheets.Cast(Of Object)().ToArray.Select(Function(Sh) Sh.Name).Where(Function(W) W.ToString.ToUpper <> "ACCUEIL").ToArray)
    Sheets Where

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

Discussions similaires

  1. Imprimer toutes les pages sauf certaines
    Par elmer005 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2018, 09h43
  2. Récupérer toutes les pages des sous-sites
    Par Knightmare dans le forum SharePoint
    Réponses: 5
    Dernier message: 17/02/2009, 08h44
  3. Réponses: 1
    Dernier message: 29/11/2008, 10h01
  4. [RegEx] Retrouver toutes les balises, sauf certaines
    Par MademoiselleL dans le forum Langage
    Réponses: 10
    Dernier message: 23/02/2008, 20h27
  5. Réponses: 16
    Dernier message: 12/07/2007, 16h35

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