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 :

Se positionner sur un classeur Excel non enregistré ( fichier dqy )


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2011
    Messages : 163
    Points : 89
    Points
    89
    Par défaut Se positionner sur un classeur Excel non enregistré ( fichier dqy )
    Bonjour,

    J'utilise un code VBA qui me permet d'ouvrir un fichier de type rqy. Il m'ouvre alors les résultats de la requête dans un fichier excel qui se nomme classeur2 par défault. J'aimerai pouvoir manipuler ce classeur en vba mais je ne sais pas comment me positionner dessus car le fichier n'est pas enregistrer donc je ne peut pas me positionner dessus en indiquant le chemin d'accès.

    Voila si quelqu’un aurait une solution.

    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
     
    Private Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _
    String, ByVal lpszFile As String, ByVal lpszParams As String, _
    ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long
     
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
     
    Sub bouton1_cliquer()
     
        Const SW_SHOWNORMAL = 1
        Dim hwnd As Long
        Dim Fich As String
     
        Fich = "d:\U710464\Bureau\Mission3\BDCF\BDCAmontExtractAll.dqy"
     
     
        hwnd = FindWindow(vbNullString, Application.Caption)
        ShellExecute hwnd, "open", Fich, vbNullString, vbNullString, SW_SHOWNORMAL
     
     
        Sheets.Add.Move After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "lolol"
     
     
    End Sub
    Merci

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    peut-être via le Hwnd renvoyé par shellexecute, mais pas facile.

    As-tu essayé de simplement ouvrir ton fichier rqy via vba sans faire appel à Shellexecute puisque l'oS utilise Excel pour l'ouvrir ?

    Si ca ne marche pas, démarre l'enregistreur de macro, fait l'open via excel et regarde le code généré.

    mais c'est juste une suggestion.

    NB : Quand tu écris ceci :
    Voila si quelqu’un aurait une solution.
    cela fait très mal à mes oreilles et à celles de mon prof de Français.

  3. #3
    Membre chevronné Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Points : 2 131
    Points
    2 131
    Par défaut
    Ou sinon, ça ne marche pas ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim wb As Workbook
    Set wb = Workbooks("BDCAmontExtractAll")

Discussions similaires

  1. Droits sur un classeur excel ?
    Par lepachablanc dans le forum Conception
    Réponses: 4
    Dernier message: 28/07/2011, 15h37
  2. [AC-2007] Importation depuis Excel non enregistrée
    Par mattadore dans le forum Modélisation
    Réponses: 1
    Dernier message: 25/02/2010, 16h12
  3. Tri sur plusieurs classeur excel
    Par Cyril28 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/02/2008, 17h10
  4. Travailler sur 1 classeur actif non enregistré
    Par pat_che dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/11/2007, 10h38
  5. [VBA-E]travail sur deux classeurs excel
    Par richou dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/04/2006, 10h59

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