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 :

probleme de recuperation de donné dans un fichier qu'on vient d'ouvrir


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut probleme de recuperation de donné dans un fichier qu'on vient d'ouvrir
    bonjour,

    je n'arrive pas a recuperer une donnee dans une cellule qui est sur un fichier excel que j'ouvre juste avant.

    voila le code:
    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
     
    Function excel()
     
    Dim a As Integer
    Dim reference As String
    Dim cellule As String
     
    Dim nom_fichier(1 To 50) As String, chemin_fichier As String, total As String
    Dim ligne As Integer, colonne As Integer
    Dim var As Boolean
     
    ligne = 3
    colonne = 1
     
    reference = InputBox("Entrez la référence de l'équipement :", "Référence")
    chemin_fichier = "C:\export_excel\"
     
    For a = 1 To 50
        nom_fichier(a) = "export" & (a) & ".xls"
        total = chemin_fichier & nom_fichier(a)
        Workbooks.Open Filename:=total
        Worksheets("Feuil1").Activate
        cellule = Workbooks(nom_fichier(a)).Worksheets("Feuil1").Cells(ligne, colonne).Value
        If cellule = reference Then
            var = True
            Worksheets("Feuil1").Select
            Worksheets("Feuil1").Name = "bougie2"
        Else
            var = False
            Close
        End If
    Next a
    End Function
    merci

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    je ne vois rien de mal fait si ce n'est le nom de la procédure

    faut faire attention avec les nom réservé

    j'ai un peu nettoyé

    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
    Function mafonction()
     
    Dim a As Integer
    Dim reference As String
    Dim cellule As String
     
    Dim nom_fichier(1 To 50) As String, chemin_fichier As String, total As String
    Dim ligne As Integer, colonne As Integer
    Dim var As Boolean
     
    ligne = 3
    colonne = 1
     
    reference = InputBox("Entrez la référence de l'équipement :", "Référence")
    chemin_fichier = "C:\export_excel\"
     
    For a = 1 To 50
        nom_fichier(a) = "export" & a & ".xls"
        total = chemin_fichier & nom_fichier(a)
        Workbooks.Open Filename:=total
        cellule = Worksheets("Feuil1").Cells(ligne, colonne).Value
        var = False
        If cellule = reference Then
            var = True
            Worksheets("Feuil1").Name = "bougie2"
        Else
            ActiveWorkbook.Close False
        End If
    Next a
     
     
    End Function

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut
    tu as corrigé une erreur..
    mais c'est pas celle qui posait probleme
    laligne qui ne s'execute pas comme il faut est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cellule = Worksheets("Feuil1").Cells(ligne, colonne).Value
    en realité elle s'execute mais cellule contient la cellule du fichier dans lequel on lance la macro (et pas le fichier qu'on vient d'ouvrir et dans lequel on veux recupérer la valeur)

    voila

    si tu as une solution..

  4. #4
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    essaye comme ça
    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
    Function mafonction()
     
    Function mafonction()
     
    Dim a As Integer
    Dim reference As String
    Dim cellule As String
    Dim wb As Workbook
     
    Dim nom_fichier(1 To 50) As String, chemin_fichier As String, total As String
    Dim ligne As Integer, colonne As Integer
    Dim var As Boolean
     
    ligne = 3
    colonne = 1
     
    reference = InputBox("Entrez la référence de l'équipement :", "Référence")
    chemin_fichier = "C:\export_excel\"
     
    For a = 1 To 50
        nom_fichier(a) = "export" & a & ".xls"
        total = chemin_fichier & nom_fichier(a)
        Set wb = Application.Workbooks.Open(total)
        cellule = wb.Worksheets("Feuil1").Cells(ligne, colonne).Value
        var = False
        If cellule = reference Then
            var = True
            Worksheets("Feuil1").Name = "bougie2"
        Else
            ActiveWorkbook.Close False
        End If
    Next a
     
     
    End Function

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 288
    Par défaut
    bon.. ca marche toujours pas..

    voila l'erreur :
    " erreur d'execution '9'
    l'indice n'apartient pas a la selection
    "

  6. #6
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bizarre ton truc

    le fichier que tu ouvre à bien une feuille nommé "Feuil1"?

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

Discussions similaires

  1. Recuperer des données dans un fichier XML
    Par Thibault92 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/07/2011, 18h14
  2. Réponses: 6
    Dernier message: 29/04/2011, 11h55
  3. recuperation de donnée dans plusieurs fichiers
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 17/03/2009, 22h56
  4. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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