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

Windows Forms Discussion :

Coller les données du presse papiers dans Excel


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut Coller les données du presse papiers dans Excel
    Bonjour à tous,

    Tout est dans le titre...

    il m'arrive parfois de devoir faire des copier/coller de bilan/compte de résultat d'internet vers Excel.

    J'aimerai savoir comment faire ceci :

    lorsque je fais CTRL + C, que mes données se collent automatiquement dans Excel (vous savez un peu comme certains logiciels de téléchargement qui détectent les liens et les collent directement dans le logiciel pour le télécharger...)

    Si vous avez des tutoriaux, sources ou n'importe quoi, je suis preneur. D'avance merci,

    Thibaut

  2. #2
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim xlRange As Range
    Clipboard.SetDataObject(tonObjet)
    xlRange = appXls.ActiveWorkbook.ActiveSheet.Range("A1")
    xlRange.Select()
    appXls.ActiveWorkbook.ActiveSheet.Paste()
    et voilà

  3. #3
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    En fait j'ai un petit souci,

    je n'arrive pas à trouver "Imports Microsoft.Office.Interop"

    Lorsque je mets ça, cela me mets que cet élément est introuvable...

    Est-ce parce que j'ai l'édition vb 2008 express ?


    D'avance merci pour vos réponses,

    Edit : Question bête... j'ai trouvé !

  4. #4
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    en fait j'ai un autre souci...

    Je n'arrive pas à ouvrir Excel à partir de vb.net....

    Voici mon tout petit 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
    Imports Microsoft.Office.Interop.Excel
    Imports System.Net
    Imports System
    Imports System.ComponentModel
    Imports System.Drawing
    Imports System.Runtime.InteropServices
    Imports System.Text
    Imports System.Windows.Forms
     
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim MonXls As Excel.Application 'ici, ça génère une erreur,
     'Excel.application est introuvable. J'aimerai créer un objet Excel 
    'pour pouvoir créer un fichier template que je viendrais ouvrir... 
    'les différents codes que j'ai vu sur internet reprennent toujours "As Excel.Application"... c'est donc que j'ai du oublier quelque chose...
     
        End Sub
    End Class
    D'avance merci !
    Qu'est ce qui me manque ?

    D'avance merci !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 319
    Points : 414
    Points
    414
    Par défaut
    Bonjour
    Pour ouvrir un nouveau fichier Excel il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            appXls = New Application
    Cordialement
    Nasty
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'TODO : trouver une signature mieux que celle la

  6. #6
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut
    Il faut écrire Excel. lorsque tu n'a pas importé Microsoft.Office.Interop.Excel et les références Office.

    Le code complet pour ouvrir et écrire dans Excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim appXls As New Application '(ou Excel.Application)
    appXls.Workbooks.Open("tonChemin")
    appXls.Visible = True ' Pour afficher ou masquer ton document (True par défaut)
    appXls.ActiveWorkbook.Worksheets("tonOnglet").Select()
    appXls.ActiveWorkbook.Worksheets("tonOnglet").Range("A1").Value = "Haha j'écris dans Excel."
    Enjoy.

  7. #7
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    C'est nickel, j'arrive à ouvrir, fermer et travailler sur mes fichiers maintenant.

    Par contre, j'ai une autre question :

    cela me lance autant de processus que de clic sur le bouton. comment lui dire : si le processus EXCEL.EXE est déjà lancé alors tu n'ouvres que le fichier...

    Voici déjà le code correspodant à la requête :

    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
    Public Class Form1
     
        Dim strFileName As String
        Dim process As New Process
        Dim MonXls As New Application
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If Button1.Text = "Ouvrir Excel" Then
                strFileName = My.Application.Info.DirectoryPath & "\Base.xls"
                Call OuvrirExcel(strFileName)
                'MonXls.Workbooks.Open(strFileName)
                MonXls.Visible = True
                Button1.Text = "Fermer Excel"
            Else
                MonXls.Quit()
                Button1.Text = "Ouvrir Excel"
            End If
     
        End Sub
     
        Sub OuvrirExcel(ByVal NomFichier)
     
            'si processus déjà lancé, inutile d'en lancer un nouveau sinon on en ouvre un nouveau
            If UBound(Diagnostics.Process.GetProcessesByName("EXCEL.EXE")) < 0 Then
                process.StartInfo.FileName = "C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE"
                process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
                process.Start(NomFichier)
            Else
                'Que mettre ici ?
            End If
        End Sub
     
    End Class
    Je sais je suis un boulet... ...

  8. #8
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut
    Mais non lol

    Réutilise monXls.Workbooks.Open("tonChemin") et ta variable monXls pour travailler sur ton fichier, celà devrait bien fonctionner.

    Perso je ne pense pas que de travailler comme ça avec les processus soit une bonne chose, en plus tu fais des Process.Start à chaque clic. C'est plus facile avec ta variable Excel.

  9. #9
    Membre régulier
    Profil pro
    Webmaster
    Inscrit en
    Octobre 2009
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2009
    Messages : 125
    Points : 82
    Points
    82
    Par défaut
    C'est good !!

    Merci !

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

Discussions similaires

  1. coller le contenu du presse papier dans une variable
    Par lucassou dans le forum VB.NET
    Réponses: 5
    Dernier message: 01/05/2015, 09h38
  2. Envoyer mail et intégrer les données d'un formulaire dans Excel
    Par Delph46 dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 23/09/2011, 15h14
  3. [AC-2007] Coller le contenu du presse-papier dans un champ spécifique d'une table
    Par toumack dans le forum Modélisation
    Réponses: 3
    Dernier message: 26/05/2009, 14h49
  4. Réponses: 3
    Dernier message: 23/09/2006, 15h19

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