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

VB.NET Discussion :

Remplir une cellule excel avec VB.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Par défaut Remplir une cellule excel avec VB.net
    Bonjour,

    Je débute en Visual Basic et voici mon problème, j'essaye de remplir une cellule excel avec VB.net sans que le fichier excel s'ouvre et je veux aussi faire l'inverse.

    par exemple quand je remplis ma Textbox1 la cellule A1 se remplit une fois que j'appuie sur le button1 ensuite mon dossier excel effectue les calculs puis la Textbox2 prend la valeur de la cellule B2.

    Pour l'instant avec mes recherches j'ai ce
    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
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            excel.Visible = False 'la fenêtre excel est visible 
     
            Workbook = excel.Workbooks.Add("C:\Users\BUC\Desktop\Nouveau dossier\test VBA.xlsx")
     
            Worksheet = Workbook.Worksheets("Feuil2") 'on ouvre une feuille dans le classeur excel
     
     
            Dim cells As String
            With Workbook.Worksheets("Feuil2")
     
                Workbook.Worksheets("Feuil2").Range("A1").Value = Me.TextBox1.Text
     
     
            End With
    ce qui ouvre une feuille excel mais pas la bonne et qui n'écrit pas dans la cellule A1 le texte qui est dans ma TextBox1

    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    heuuuu....
    je dis ça comme ça mais....

    Pourquoi tu passes par une feuille excel pour faire ton calcul....????
    Tu peux le faire avec ton codes VB.... non ?

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Je ne sais si ça va aider, mais le code suivant ouvre une application Excel, y place une valeur là où on veut, ajoute une feuille au classeur et y place également une valeur où cela convient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            XLSAPP = New Excel.Application
            XLSAPP.Visible = True
            XLSAPP.Workbooks.Open("D:\Tmp\ProbExcel\Test.xls")  'ouvir le fichier XLS
     
            ' Il est possible de programmer en VB ce qu'on ferait en Macro
            XLSAPP.Range("C4").Select()
            XLSAPP.ActiveCell.FormulaR1C1 = "127"   'y placer la valeur 127 ou une formule
            XLSAPP.Sheets.Add()
            XLSAPP.Range("Feuil2!C4").Select()
            XLSAPP.ActiveCell.Value = "951127" 'y placer la valeur 127
    A noter : le fichier xls doit exister et ne peut pas être ouvert au moment de l'exécution de ce code. Pour ré-accéder à un fichier ouvert, le code est un peu différent.

    Bonne journée,

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Le début du fil (si on peut dire) est là. (même si la lecture n'est pas obligatoire pour la suite.)

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Par défaut
    Bonjour,

    Je passe par excel car dans mon dossier excel j'ai des redressements de courbes je récupère des courbes de tendance pour effectuer les calculs et VB ne peut pas tracer de courbe (fin je suppose je suis + compétent en excel qu'en VB)

    Merci pour le code je vais essayer et pour rentrer la valeur d'une TextBox dans une cellule il faut rentrer quoi ?

    j'essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xLsheet.Cells(1,1).value = Textbox1.value
    mais il ne comprend pas la value du TextBox1

  6. #6
    Membre expérimenté
    Homme Profil pro
    IT Manager
    Inscrit en
    Janvier 2018
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : IT Manager
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2018
    Messages : 220
    Par défaut
    Si si, VB peut faire des tas de courbes...
    Regardes le contrôle Chart

  7. #7
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Par défaut
    Est-il possible également de les cacher ainsi que le code ?

    Car je fais partie d'une société sous-traitante et je ne veux pas que le client puisse voir ce que j'ai fait.

    Merci je regarde les charts mais mon dossier excel est assez conséquent et déjà réalisé.

  8. #8
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    La valeur d'une TextBox est dans sa propriété Text :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xLsheet.Cells(1,1).value = Textbox1.Text
    ...

  9. #9
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Par défaut
    pour l'instant j'ai ce code si :

    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
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim XlApp As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
     
     
     
     
     
            Dim XLDestBook As Microsoft.Office.Interop.Excel.Workbook
            XLDestBook = XlApp.Workbooks.Add
     
     
     
     
            XLDestBook = XlApp.Workbooks.Open("C:\Users\Asus\Desktop\TEST.xls")
     
     
     
            Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
            xlSheet = XLDestBook.Worksheets.Add
     
     
     
            xlSheet.Cells(1, 2).value = TextBox1.Text
        End Sub
    End Class
    mais je n'arrive pas à sélectionner une feuille ça m'en ouvre une nouvelle de + je ne trouve pas comment sauvegarder la fiche excel puis la fermer et merci pour le .Text j'ai l'impression que ça fonctionne vachement mieux ( même si je ne peux pas voir car si je retourne sur ma fiche excel pour vérifier il me propose lecture seule).

  10. #10
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Salut,
    Tu dois faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim XlApp As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim XLDestBook As Microsoft.Office.Interop.Excel.Workbook
    Dim XLlSheet As Microsoft.Office.Interop.Excel.Worksheet
    Dim XlRange As Microsoft.Office.Interop.Excel.Range
     
    XLDestBook = XlApp.Workbooks.Open("C:\Users\Asus\Desktop\TEST.xls")
    XLSheet = XLDestBook.Sheets(1) 'Indique le numéro de la feuille souhaitée
    XlRange = XLSheet.Cells(1, 2)
    XLRange.Value = TextBox1.Text
     
    XLDestBook.Save()
    XLDestBook.Close()

  11. #11
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 249
    Par défaut
    Merci beaucoup mon test Fonctionne pratiquement à 100% mais quand je vais pour le sauvegarder ce message d'erreur vient et la sauvegarde ne ce fait pas.



    Nom : Capture.PNG
Affichages : 938
Taille : 7,0 Ko

  12. #12
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Citation Envoyé par sorbetframboise Voir le message
    Merci beaucoup mon test Fonctionne pratiquement à 100% mais quand je vais pour le sauvegarder ce message d'erreur vient et la sauvegarde ne ce fait pas.



    Nom : Capture.PNG
Affichages : 938
Taille : 7,0 Ko
    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
     
    Dim XlApp As Microsoft.Office.Interop.Excel.Application = New Microsoft.Office.Interop.Excel.Application()
    Dim XLDestBook As Microsoft.Office.Interop.Excel.Workbook
    Dim XLlSheet As Microsoft.Office.Interop.Excel.Worksheet
    Dim XlRange As Microsoft.Office.Interop.Excel.Range
     
    XLDestBook = XlApp.Workbooks.Open("C:\Users\Asus\Desktop\TEST.xls")
    XLSheet = XLDestBook.Sheets(1) 'Indique le numéro de la feuille souhaitée
    XlRange = XLSheet.Cells(1, 2)
    XLRange.Value = TextBox1.Text
     
     
    XlApp.DysplayAlerts = False
    XLDestBook.Save()
    XLDestBook.Close()
    XlApp.DysplayAlerts = True
    XLApp.Quit()

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

Discussions similaires

  1. Remplir une cellule excel avec VB.net
    Par sorbetframboise dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 23/04/2019, 16h04
  2. Remplir une cellule Excel avec une condition sous vb
    Par enibris dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/01/2008, 13h47
  3. remplir une cellule excel a partir d'un combobox en userform
    Par rocofolie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/09/2007, 15h54
  4. Comment lire le contenu en arabe d'une cellule excel avec
    Par deneche dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/03/2006, 10h01
  5. Remplir les cellules Excel avec des variables VB
    Par rupeni dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/11/2005, 09h31

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