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

Macros et VBA Excel Discussion :

ADOX - Couleur et visibilité des onglets dans fichier fermé [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Laboratoire Matériaux
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Laboratoire Matériaux

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut ADOX - Couleur et visibilité des onglets dans fichier fermé
    Bonjour à tous,

    Voici ma problématique :
    Je dois à partir d'un classeur Excel vérifier dans un grand nombre de classeur (environ 200) si certains onglet sont visible et quel est leur couleur !
    Exemple :
    Mon classeur B est fermé et contient 3 onglets :
    • Onglet1 qui est visible et en vert
    • Onglet2 qui est visible et en rouge
    • Onglet3 qui est masqué et en rouge

    Je travail dans mon classeur A et je souhaiterais afficher pour chaque onglet les 3 informations :
    • Nom de l'onglet
    • Visibilité de l'onglet
    • Couleur de l'onglet

    Pour le moment j'ai un début de code me permettant de lister les onglets (visible ou non) présent dans mon fichier B sans l'ouvrir via une connection ADOX.

    Savez-vous si il est possible de faire remonter les informations sur la visibilité et la couleur via ADOX ?
    Si oui avez-vous une piste pour le codage ?
    Si c'est pas possible, avez-vous une autre idée de connexion possible pour faire remonter ces informations ?

    Merci d'avance pour votre aide.
    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
    Sub ListeFeuillesClasseurFerme()
        Dim Cn As ADODB.Connection
        Dim Fichier As String
        Dim xlSheet As Variant
     
        'Définit le classeur fermé servant de base de données
        Fichier = "C:\Users\fichierB.xlsm"
     
     
        Set Cn = New ADODB.Connection
        Set cat = CreateObject("ADOX.Catalog")
        '--- Connexion ---
        With Cn
            .Provider = "Microsoft.Jet.OLEDB.4.0"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
                & Fichier & ";Extended Properties=""Excel 12.0;HDR=yes;"""
            .Open
        End With
        '-----------------
     
    Set cat.ActiveConnection = Cn
    For Each Feuille In cat.Tables
    If Right$(Feuille.Name, 1) = "$" Then
    Resultat = Resultat & Feuille.Name & vbCrLf
    End If
    Next
    MsgBox Resultat
    '--- Fermeture connexion ---
        Cn.Close
        Set Cn = Nothing
        Set cat = Nothing
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,

    ADOX permet de récupérer des information sur une base de données,pas sur un fichier Excel même si de prima bort tu fais une connexion à un fichier excel. via Ado ton fichier Excel n'est plus un fichier Excel mais une base de données excel!

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Laboratoire Matériaux
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Laboratoire Matériaux

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut
    Merci dysorthographie pour ta réponse rapide.

    J'avais bien connaissance de cette spécificité de la liaison ADOX, mais je me demandais si les informations sur la visibilité et la couleur des onglets était renseignée dans la BDD. Via ta réponse je comprend que non.

    Quel type de liaison/connexion tu me conseillerais d'utiliser pour récupérer ces informations (Nom des onglet, visibilité des onglets et couleur des onglets) dans des fichiers fermés que je ne veux pas ouvrir car l'opération sera trop longue ?

    Merci d'avance.

  4. #4
    Invité
    Invité(e)
    Par défaut
    seul l'ouverture du fichier via Excel te permettras d'avoir l’information.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur Laboratoire Matériaux
    Inscrit en
    Janvier 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Laboratoire Matériaux

    Informations forums :
    Inscription : Janvier 2014
    Messages : 3
    Par défaut
    Ok, je craignais cette réponse ...

    En tout cas merci beaucoup pour tes réponses.

  6. #6
    Invité
    Invité(e)
    Par défaut
    En revanche tes classeur disposent de macros tu peux ajouter une feulle VisibleYesNo que pour le coup tu pouras interoger par requête.

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

Discussions similaires

  1. [XL-2010] VBA - copier des onglet dans nouveau fichier en fonction d'un referentiel
    Par smo911 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/11/2015, 19h16
  2. [pl/sql] Récupérer des données dans fichier
    Par claralavraie dans le forum Oracle
    Réponses: 22
    Dernier message: 13/07/2006, 17h49
  3. problème de visibilité des variables dans un include
    Par d1g-2-d1g dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2005, 10h35
  4. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 02h55
  5. Réponses: 2
    Dernier message: 13/10/2004, 16h32

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