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 cellule dans un autre classeur et récupérer la position de la cellule contenant la valeur


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Rechercher cellule dans un autre classeur et récupérer la position de la cellule contenant la valeur
    Bonjour,

    En m'aidant de nombreux posts sur ce forum j'ai pu créer une macro qui recherche une donnée dans ma feuille courante pour ensuite écrire une donnée dans un autre classeur en utilisant l'adresse de la cellule du dessous de celle trouvée.
    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
    Sub find()
        Dim oExcel, oWB, oSheet, setVal
        Dim colonne
        Dim ligne As Long
     
        ' trouve l'adresse contenant RSEED
        Add = ActiveSheet.Cells.find(What:="RSEED").Address
     
     
        colonne = ActiveCell.Column 'renvoie l'adresse de la colonne en numérique
        ligne = ActiveCell.Row  'renvoie l'adresse de la ligne
        ligne = ligne + 1
     
        Set oExcel = CreateObject("Excel.Application")
        Set oWB = oExcel.Workbooks.Open("M:\donnees\macro\input.xls")
        Set oSheet = oWB.Worksheets("Control")
     
        oExcel.Visible = True
        ' écrit dans la cellule en dessous de RSEED
        oSheet.Cells(colonne, ligne).Value = 6
    End Sub
    J'aimerai faire la recherche non pas dans mon classeur courant mais dans M:\donnees\macro\input.xls mais je n'y arrive pas. J'ai essayé avec la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add = Workbooks("M:\donnees\macro\input.xls").Sheets("Control").Cells.find(What:="RSEED").Address
    mais elle me renvoie erreur d'execution 9 .

    Merci de votre aide

  2. #2
    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
    Peut etre en décoposant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Workbook("M:\donnees\macro\input.xls").Sheets("Control")
       Add = .Cells.find(What:="RSEED").Address
    end with
    Si le fichier est déjà ouvert, peut etre que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Workbook("input.xls").Sheets("Control")
    peut suffire

    et peut etre intégrer une gestion d'erreur s'il ne trouve aucune case correspondante.

Discussions similaires

  1. Copier un champs de cellules dans un autre classeur Excel
    Par sylvain5923 dans le forum VB.NET
    Réponses: 0
    Dernier message: 06/01/2012, 14h19
  2. Réponses: 6
    Dernier message: 01/05/2007, 22h03
  3. Réponses: 5
    Dernier message: 06/04/2007, 14h05
  4. Réponses: 12
    Dernier message: 05/03/2007, 11h52
  5. [VBA-E] effectuer une recherche dans un autre classeur
    Par sebneb dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 07/01/2007, 11h47

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