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 :

Ouvrir Notepad avec Excel [XL-2002]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut Ouvrir Notepad avec Excel
    Bonjour a tous

    Voici un petit problème que les développeur plus chevronné que moi résoudront sans doute;
    Je veux ouvrir le logiciel Notepad (ou Bloc-Notes) dans ma macro Excel. J'ai essayer de voir le code avec l'enregistreur de macro, mais rien (aucun code) n'est apparue. Comme je fais peu de code (uniquement quand J'en ai vraiment besoin pour me faire des macro) je ne sais pas si cela se fait. Puisque c'est une application Microsoft et que Excel est aussi une application Microsoft, cela doit surement se faire... mais comment?

    Merci à tous ceux qui le savent et qui me donne la chance de pouvoir continuer.

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    Comme ca par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Notepad()
        Shell "notepad", vbNormalFocus
    End Sub
    ++
    Minick

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Je vais l'essayer, mais je doute que ca fonctionne car je veux le mettre dans la macro. La macro commence ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      Columns("A:A").Select
        Range("A64").Activate
        Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
        Columns("A:A").Select
        Range("A64").Activate
        Selection.Copy
    et c'est là que je veux ouvrir pour coller ma liste.

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Toutes mes excuses Minick, ca fonctionne bien

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Mais une fois rendu dans notepad, comment on fait pour coller l'information. J'ai fait un Selection.Paste et ce ne foctionne pas???

  6. #6
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    essaies 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
    Sub c()
     
    ' vbHide                0 La fenêtre est masquée et activée. La constante vbHide n'est pas applicable sur les plates-formes Macintosh.
    ' vbNormalFocus         1 La fenêtre est activée et rétablie à sa taille et à sa position d'origine.
    ' vbMinimizedFocus      2 La fenêtre est affichée sous forme d'icône et activée.
    ' vbMaximizedFocus      3 La fenêtre est agrandie et activée.
    ' vbNormalNoFocus       4 La fenêtre est rétablie à sa taille et à sa position les plus récentes. La fenêtre active reste active.
    ' vbMinimizedNoFocus    6 La fenêtre est affichée sous forme d'icône. La fenêtre active reste active.
     
    Monshell = Environ("windir") & Application.PathSeparator & "system32" & Application.PathSeparator & "notepad.exe"
    'AGR/KO Monshell = Environ("ComSpec") & Application.PathSeparator & "'dir'" ' & "calc.exe"
    ' Monshell = "C:\WINDOWS\system32\" & "calc.exe"
     
    On Error GoTo gesterror
    RetVal = Shell(Monshell, 1)
     
    gesterror:
    If Err.Number > 0 Then
        MsgBox Err.Number & " : " & Err.Description & vbCrLf & Monshell
    End If
    End Sub

  7. #7
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour Minick,
    désolé je n'avais pas raffraichi

    Dans ce cas il est possible d'ouvrir notepad et de faire un sendkey CTRL + v

  8. #8
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Une autre idée, ecrire la liste dans un nouveau classeur et le sauvegardé comme un fichier text, il doit y avoir pas mal d'exemples dans le forum.

  9. #9
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    re,

    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
        Dim Id As Variant
     
        Id = Shell("notepad")
     
        Application.Wait Now + TimeValue("00:00:02")
     
     
        Columns("A:A").Select
        Range("A64").Activate
        Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
        Columns("A:A").Select
        Range("A64").Activate
        Selection.Copy
     
        AppActivate Id
        Application.SendKeys "^V"
    Comme ca

    Mais comme dit aalex_38, en passant par un classeur c'est peut etre mieux.

    ++
    Minick

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Bonne idée, je vais essayer à la main pour voir si ca fonctionne (c'est pour une application crystal report).

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2008
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 145
    Par défaut
    Ca marche très bien avec un classeur. Merci de votre aide

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

Discussions similaires

  1. Ouvrir .csv avec Excel et non avec IE
    Par kamnouz dans le forum Langage
    Réponses: 7
    Dernier message: 13/04/2011, 11h58
  2. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42
  3. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14
  4. Ouvrir un document Excel en READ ONLY (avec VBA)
    Par beegees dans le forum Access
    Réponses: 2
    Dernier message: 29/12/2004, 20h48
  5. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29

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