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 :

Excel/VB problème avec la recherche


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 10
    Par défaut Excel/VB problème avec la recherche
    Bonjour,
    Je suis en stage et je doit réalisée une macro qui consiste à récupérer des informations dans un fichier excel et les enregistrer dans un autre fichier excel. Seulement pour récupérer les informations, il faut que je réalise une recherche et c'est là que sa coince.


    Voilà 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    'dans le cas où le script est éxécuté en janvier on créé le nouveau fichier de revue de perf
                set objFSO= createObject("Scripting.FileSystemObject")
                modele= "C:\Documents and Settings\technicien\Bureau\Synthèse comparatives annuelle\Modele.xls"
                monannee= cstr(year(date)-1)
                monfichier= "C:\Documents and Settings\technicien\Bureau\Synthèse comparatives annuelle\Synthese_"&cstr(year(date))&".xls"
     
                if month(date)=1 or month(date)=01  then
                    'chemins à modifier
                    monfichier= "C:\Documents and Settings\technicien\Bureau\Synthèse comparatives annuelle\Synthese_"&cstr(year(date))&".xls"
                    nouveaufichier= "C:\Documents and Settings\technicien\Bureau\Synthèse comparatives annuelle\Synthese_"&cstr(year(date))&".xls"
                    monannee= cstr(year(date)-1)
                    objFSO.CopyFile modele, nouveaufichier
                end If
     
     
                lemois= cstr(month(dateadd("m", -1,date)))
                if len(lemois)=1 then
                    lemois= "0"& lemois + 7
                end If
     
                'Chemin où se trouve toutes les synthèse de chaque mois 
                donnees="C:\Documents and Settings\technicien\Bureau\Synthèses Mensuelles des PIC\"& monannee &"_M"& lemois &"_Synthese.xls"
     
                If objFSO.FileExists(donnees) then
                    'ouverure des deux classeurs excel
                    Set AppExcelD = WScript.CreateObject("Excel.Application")
                    AppExcelD.Visible = True
                    AppExcelD.Workbooks.Open(donnees)
                    AppExcelD.Worksheets("TDB mensuel").activate
                    Set AppExcelF = WScript.CreateObject("Excel.Application")
                    AppExcelF.Visible = True
                    AppExcelF.Workbooks.Open(monfichier)
                    AppExcelF.Worksheets("Donnees").activate
                    laligne= 1
     
                    if month(date)>1 then
                        laligne= 1+ (14* (month(date)-2))
                    end If
     
                    'Objets injectés
                        'Angers
                        Monrang = AppExcelD.Range("C92:H120")
                        maPlage= ("C" & lemois+4)
                            AppExcelD.WorksheetFunction.VLookup("Objets injectés" , ("C92:H120"), 3, False).select
                        AppExcelD.WorksheetFunction.VLookup("Objets injectés" , ("C92:H120"), 3, False).Copy
                        AppExcelF.Range(maPlage).Select
                                                           AppExcelF.ActiveSheet.paste
                        AppExcelD.CutCopyMode = False
    C'est au niveau de AppExcelD.WorksheetFunction.VLookup("Objets injectés" , ("C92:H120"), 3, False).select qu'il y à un problème il me met un message d'erreur :
    Impossible de lire la propriété VLookup de la classe WorksheetFunction.


    Merci d'avance si quelqu'un peut m'aider

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    il est inutile d'ouvrir une seconde instance d'Excel, autant ouvrir le fichier directement dans un Excel unique …

  3. #3
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 10
    Par défaut
    Mais il y a une instance d'excel où il y à mes données et l'autre où j'insert mes données

    Merci de votre réponse

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    C'est inutile d'avoir deux instances : plus de risque d'erreur et plus de consommation de ressources !

    A quoi bon ?


Discussions similaires

  1. Problème avec la recherche FULLTEXT
    Par izbing dans le forum Requêtes
    Réponses: 6
    Dernier message: 23/01/2008, 22h13
  2. Problème avec la recherche en fulltext
    Par pepelele dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/05/2007, 14h32
  3. [0.8] Problème avec la recherche MVC (Tuto d'Akrabat)
    Par developpeur_mehdi dans le forum Zend_Db
    Réponses: 4
    Dernier message: 09/03/2007, 18h00
  4. [VBA-Excel] Petit problème avec les formulaires
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 09h22
  5. VBA Excel (débutant) - problème avec la copie d'un range
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2006, 16h32

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