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 :

Rechercher des données dans un autre workbook


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Salut !
    Je cherche à savoir s'il est possible( et je suis sur que ça l'est...) d'effectuer une recherche dans une plage particulière d'une feuille d'un workbook particulier situé dans le même répertoire ou dans un répertoire différent.
    Voilà je peux être plus clair à la demande

    D'avance merci !

    Az

    J'avais oublié de préciser que le workbook en question est protégé par un mot de passe en écriture (mais la lecture seule suffit pour faire ce que j'ai à faire) et qui plus est, si je peux ne pas l'ouvrir, ça m'arrange, sinon je fais avec, ou alors je l'ouvre avant...

  2. #2
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 116
    Points
    116
    Par défaut
    Bonjour,

    Voici un code qui t'ouvre l'explorateur windows.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Fichier As Variant
    Dim Wb As Workbook
     
    Fichier = Application.GetOpenFilename("Classeurs Excel (*.xls), *.xls")
    If Fichier = False Then Exit Sub
     
    Set Wb = Workbooks.Open(Fichier)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Merci pour cette astuce mais, en fait le petit module de recherche et de prise d'infos dans mon autre workbook est amené à être inséré dans une procédure visant à résuire le temps mis pour la saisie des données. Si j'ouvre un explorateur pour sélectionner un fichier en plein milieu, je perds toute l'utilité de ma procédure.
    Lorsque j'écris ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    dim abaque as worksheet
    Set abaque = Workbooks("S:\répertoire 1\fichier avec des espaces.xls").Worksheets("config récentes £")
    j'ai une erreur d'exécution '9' : l'indice n'appartient pas à la sélection

    je précise que le disque S est distant(mais ça m'étonnerai que ça ait une influence quelquonque...) et que les espaces, les accents et les caractères spéciaux sont dans mon chemins et que j'aimerais beaucoup ne pas avoir à les modifier...

  4. #4
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Points : 116
    Points
    116
    Par défaut
    d'acc pour la procédure rapide, voilà donc une adaptation de ce que je t'ai envoyé et de ce que tu veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim abaque As Workbook
    Set abaque = Workbooks.Open("S:\ton répertoire\ton fichier avec espaces.xls")

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    En recherchant dans le forum Contribuez ou dans les FAQ, on trouve comment récupérer des données d'un classeur sans l'ouvrir!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    En fait, c'est un peu plus compliqué (ou plus simple ) que ce qui est expliqué dans le FAQ et je ne trouve pas de sujet y faisant référence dans les contributions...

    Je vais modifier le problème afin de le rendre (peut -être) plus simple :
    On va dire que j'ouvre mon classeur contenant les données que je dois extraire avant de lancer la macro. j'ouvre le classeur ou je dois copier mes données, puis je lance ma macro.
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim abaque As Workbook
    Set abaque = Workbooks.Open("S:\ton répertoire\ton fichier avec espaces.xls")
    Workbooks(abaque).Worksheets("config depuis le 01 06 07").Activate

    Et ça plante avec une erreur 13 : erreur de type...

    Existe-t-il un moyen simple de faire appel à un classeur déjà ouvert et d'y activer une feuille??

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    Bien oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("fichier ouvert.xls").Sheets("La feuille").activate
    Pas besoin de passer par des set .

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Oui oui je savais que c'était un truc simple...
    Je crois que la plupart de mes erreurs venait d'une majuscule manquante dans le chemin d'appel...

    Merci à vous 2 de vous être donnés du mal pour aider un boulet...

    Maintenant que j'ai mangé ça ira mieux ... i hope...

    Az

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Dans ce code que tu as essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim abaque As Workbook
    Set abaque = Workbooks.Open("S:\ton répertoire\ton fichier avec espaces.xls")
    Workbooks(abaque).Worksheets("config depuis le 01 06 07").Activate
    Tu crées un objet Workbook qui s'appelle abaque.

    Si tu veux t'y référer, il te suffit d'utiliser cet objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    abaque.Worksheets("config depuis le 01 06 07").Activate
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 48
    Points
    48
    Par défaut
    Merci du conseil !
    J'ai tendance à faire des usines à gaz...
    Mais maintenant je crois que je maîtrise un peu mieux l'appel d'objet et la syntaxe.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/01/2015, 14h42
  2. Problème pour trouver et copier des données dans un autre workbooks
    Par bilou_12 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/04/2012, 10h23
  3. Rechercher des données dans une autre feuille
    Par pedrito75 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/05/2011, 18h40
  4. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  5. Réponses: 4
    Dernier message: 19/09/2005, 15h59

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