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 :

Ouverture de fichier en VBA et recherche de cellule spécifique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Par défaut Ouverture de fichier en VBA et recherche de cellule spécifique
    Bonjour,

    Je sollicite votre aide, car ma macro ne s’exécute pas comme je le souhaite.

    En effet, je souhaite créer une macro où je souhaiterai ouvrir un fichier excel , et que la macro me recherche une information dans une cellule spécifique.
    Comment puis-je procéder?
    Merci pour votre aide.
    Bonne journée.

  2. #2
    Expert confirmé
    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

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Une piste avec "ExecuteExcel4Macro". Adapter les arguments dans la proc "RecuperationDonnees" :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    Sub RecuperationDonnees()
     
        Dim Valeur
        '1er argument le chemin complet
        '2ème argument le nom du classeur avec son extension
        '3ème argument le nom de la feuille cible
        'et 4ème argument la cellule cible
        Valeur = RecupValeur("C:\Mon Dossier\", "Classeur.xls", "Feuil1", "C1")
     
        MsgBox Valeur
     
    End Sub
     
    Function RecupValeur(Chemin As String, _
                         NomClasseur As String, _
                         NomFeuille As String, _
                         Cellule As String)
     
        Dim Arg As String
     
        'vérifie le chemin
        If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
     
        'si c'est une plage, affiche un message et fin de procédure
        If InStr(Cellule, ":") Then
     
            MsgBox "Une seule cellule en argument", , "Cellule unique."
            Exit Function
     
        End If
     
        'ignore l'erreur si la plage est déjà en référence R1C1
        On Error Resume Next
     
        'transforme la référence en style R1C1
        Cellule = Range(Cellule).Address(, , xlR1C1)
     
        'construit l'argument
            Arg = "'" & Chemin & "[" & NomClasseur & "]" & NomFeuille & "'!" & Cellule
     
        'passe la valeur à la fonction
        RecupValeur = Application.ExecuteExcel4Macro(Arg)
     
    End Function
    Hervé.

  4. #4
    Membre confirmé
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 65
    Par défaut
    Merci Theze pour votre aide,
    par contre ça me dit que la procédure est trop longue.

    Comment puis-je faire pour "étendre" la capacité disponible afin que la macro puisse s'exécuter?
    Merci beaucoup

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    par contre ça me dit que la procédure est trop longue.
    Chez moi, lors de différents tests sur différents classeurs, il faut moins d'une seconde pour que la boite de message s'affiche avec la valeur demandée
    Tu as bien fais attention à la façon dont tu passe les arguments ?

    Hervé.

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/05/2007, 22h03
  2. [VBA-E] Recherche de cellules dans feuille
    Par cyber_N dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2006, 10h38
  3. [VBA-E]Lancement de macro à l'ouverture du fichier
    Par bastien62200 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/02/2006, 23h20
  4. ouverture de fichier à la vollée en excel vba
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/12/2005, 22h12
  5. [VBA-E] Evenement ouverture de fichier
    Par gjeff dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/12/2002, 09h42

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