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

Excel Discussion :

VBA code ADO ADODB - classeurs fermés


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Assistante
    Inscrit en
    Avril 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistante
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2014
    Messages : 4
    Points : 5
    Points
    5
    Par défaut VBA code ADO ADODB - classeurs fermés
    Bonjour,

    Je me tourne vers vous pour vous demander un coup de main sur ADO.

    Je manipule plutôt bien le VBA, mais je reste une bille sur ADO

    J’ai en premier lieu lu le très bon tuto de SylkiRoad (Lire et écrire dans les classeurs Excel fermés)

    Je n’arrive pas à modifier les exemples pour arriver aux requêtes suivantes :
    Première demande :
    Dans le code « RequeteClasseurFerme() » de la page 11

    On définit NomFeuille as string, puis dans le code on a cette ligne :

    texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
    Comment remplacer cette ligne en utilisant le CodeName de la feuille Excel et nom pas le nom de l’onglet (sheetname) ?

    Les utilisateurs ont quelque fois tendance à modifier le nom de l’onglet, ce qui provoque une erreur, de plus toutes mes feuilles sont nommées en dur (Codename) et il serait plus facile de gérer les requêtes à partir des codename des feuilles concernées..

    Est-ce possible ? Et si oui comment ?

    Deuxième question pour nos champions :

    Dans le code « extractionValeurCelluleClasseurFerme » de la page 12
    On définit la variable Cellule as string : OK

    Si on veut extraire une cellule alors on définit Cellule comme "A1 :A1" : pas de problème.

    Puis on a le commentaire suivant :
    'Pour une plage de cellules, utilisez:
    'Cellule = "A4:C10"

    Mais imaginons que la plage soit une colonne du fichier source avec un nombre inconnu de lignes remplies….

    A quel moment je peux lui dire :

    Dim DerLig as long

    DerLig = La feuille définit du classeur désigné et donc le numéro de la dernière cellule non vide de la colonne B ou de la deuxième colonne (ou une autre ….)

    Ensuite je pourrais définir 'Cellule = "B4:B" & DerLig et donc de définir Cellule avec une adresse entre B2 et B & Derlig.

    Et enfin la question qui en découle, suis obligée d’exporter les informations dans une feuille de mon classeur puis les utiliser pour remplir une ListBox d’un Userform suivant certains critères, ou puis je directement alimenté un UF avec les données du classeur fermé sans passer par une copie dans une feuille cachée ou autre ? Par exemple lister dans une ListBox la liste unique des clients facturés ou une recherche de disponibilité dans une base article Excel fermée ?

    Merci d’avance de votre aide et de vos explications, il me manque pas mal d’info pour comprendre et mettre en œuvre de nombreuses statistiques à partir de fichier Excel fermés, ces fichiers sont au format *.xls et pas au format 2007, mais les requêtes sont écrites dans des fichiers Ex 2013.

    Je reste très attentive à vos commentaires,

    Un grand merci d’avance à vous,

    SylVBA

  2. #2
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, ne lisant pas les laïus, remplace NomFeuille par CodenameDeLaFeuille.Name.
    pour la suite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DerLig = shCodeNameFeuille.Range("B" & Rows.Count).End(xlUp).Row

Discussions similaires

  1. Ecrire sur un classeur fermé VBA/ADO
    Par Radaghast dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2012, 12h24
  2. [XL-2010] VBA/ADO : récupération de données dans un classeur fermé.
    Par Anto_NEX dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/07/2012, 09h07
  3. [XL-2003] Utlisation des données d'un classeur fermé dans un code vba
    Par frihat mohamed dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 01/09/2011, 18h12
  4. [ADO VBA] Lire Ecrire dans classeur Excel fermé - Demande de précisions.
    Par botakelymg dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/11/2007, 17h08
  5. [VBA-E] Utilisation des classeurs fermés
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 31
    Dernier message: 26/09/2007, 15h57

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