Enregistrer le calcul fait avec Visual Basic dans . feuil excel
Résolu/Fermé
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
-
25 mars 2016 à 21:53
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 31 mars 2016 à 12:20
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 31 mars 2016 à 12:20
A voir également:
- Enregistrer le calcul fait avec Visual Basic dans . feuil excel
- Calcul moyenne excel - Guide
- Visual basic - Télécharger - Langages
- Audacity enregistrer son pc - Guide
- Liste déroulante excel - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
4 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
31 mars 2016 à 11:10
31 mars 2016 à 11:10
voici le code. Tu peux supprimer ton FolderBrowserDialog1, je l'ai initialisé par code:
Et voilà!
Option Strict On Imports Microsoft.Office.Interop Imports Microsoft.Office.Interop.Excel Public Class Form1 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 'Créer une instance de Excel Dim ApExcel As New Excel.Application Dim wbExcel As New Excel.Worksheet Dim nom As String 'nom classeur Dim chemin As String = "C:\" 'chemin classeur nom = "Calcul" 'nom classeur 'Créer un nouveau classeur ApExcel.Workbooks.Add() 'Ouvrir un classeur 'ApExcel.Workbooks.Open("chemin classeur.xls") ApExcel.Application.DisplayAlerts = False 'supprime les messages d'alerte 'rendre le classeur visible ApExcel.Visible = False ApExcel.Range("A1").Formula = "1200" 'Ajouter du texte à une cellule ApExcel.Range("A2").Formula = "1300" 'Ajouter du texte à une cellule ApExcel.Range("A3").Formula = "1400" 'Ajouter du texte à une cellule Dim FBD As New FolderBrowserDialog ' On affiche le formulaire et on teste si l'utilisateur a bien sélectionné un dossier. ' L'utilisateur aura donc cliqué sur le bouton OK. With FBD If .ShowDialog() = System.Windows.Forms.DialogResult.OK Then ' Récupère le chemin complet du dossier sélectionné par l'utilisateur Dim dossier_selectionner As String = .SelectedPath ' Affiche le chemin complet du dossier sélectionné par l'utilisateur dans la variable chemin, il faudra ajouter \ avant le nom du classeur chemin = dossier_selectionner 'chemin dossier Else ' Si l'utilisateur n'a pas sélectionné de dossier, on lui affiche un avertissement MsgBox("Aucun dossier n'a été sélectionné", MsgBoxStyle.Exclamation, "Aucun dossier sélectionné") End If End With ApExcel.ActiveWorkbook.SaveAs(Filename:=chemin & "\" & nom) MsgBox("Classeur enregistré dans le dossier" & Environment.NewLine & chemin, MsgBoxStyle.Information, "Enregistrement") ApExcel.Workbooks.Close() 'on ferme le classeur ApExcel.Application.DisplayAlerts = True ApExcel.Visible = False ApExcel.Quit() 'on ferme Excel ApExcel = Nothing End Sub End Class
Et voilà!
Utilisateur anonyme
Modifié par Whismeril le 26/03/2016 à 07:40
Modifié par Whismeril le 26/03/2016 à 07:40
Bonjour
voici un code en C#
https://codes-sources.commentcamarche.net/source/50624-piloter-excel-via-microsoft-office-interop-excel
tu le passes dans un traducteur C# -> VB.Net (c'est ta version de VB) en ligne et c'est bon.
Sinon il y a de nombreux sujets sur ce thème sur le forum VB.Net
https://codes-sources.commentcamarche.net/forum/s/vb-net-1040/excel
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
voici un code en C#
https://codes-sources.commentcamarche.net/source/50624-piloter-excel-via-microsoft-office-interop-excel
tu le passes dans un traducteur C# -> VB.Net (c'est ta version de VB) en ligne et c'est bon.
Sinon il y a de nombreux sujets sur ce thème sur le forum VB.Net
https://codes-sources.commentcamarche.net/forum/s/vb-net-1040/excel
Quand j'étais petit, la mer Morte n'était que malade.
George Burns
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
26 mars 2016 à 07:45
26 mars 2016 à 07:45
Bonjour,
et pour compléter la réponse de Whismeril que je salue, voici ce snippet en VB.NEt:
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
et pour compléter la réponse de Whismeril que je salue, voici ce snippet en VB.NEt:
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
26 mars 2016 à 11:02
26 mars 2016 à 11:02
merci beaucoup à Whismeril et cs_Le Pivert de votre réponse.
le code qui se trouve dans :
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
est très bien expliqué juste en le lisant j'ai compris comment ça fonctionne, mais il y a juste un petit problème ou plutôt un gros problème, j'arrive pas à trouver dans Références --> Ajouter ---> COM :
Microsoft Excel Object 12.0 Library
Microsoft PowerPoint Object 12.0 Library
Microsoft Word 12.0 Object Library
j'ai fais une recherche dans google et j'ai pu savoir comment ajouter Microsoft Excel Object 15.0 Library (C:\Program Files\Microsoft Office\Office15\EXCEL.exe)
c'est Microsoft Excel Object 15.0 Library est pas Microsoft Excel Object 12.0 Library car j’utilise Microsoft 2013.
mais j'arrive pas à trouver pour le chemain pour ajouter :
Microsoft PowerPoint Object 15.0 Library
Microsoft Word 15.0 Object Library
Comment faire?
j'ai une deuxième question c'est un autre utilisateur utilise Microsoft 2003 2007 ou 2010 est-ce qu'il y aura un bug parce qu'il utilise un version antécédente à la mienne (Microsoft 2013)?
J'ai lu ça dans le poste :
https://www.developpez.net/forums/d1421126/logiciels/microsoft-office/excel/macros-vba-excel/microsoft-word-14-0-object-library-manquante/
le code qui se trouve dans :
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
est très bien expliqué juste en le lisant j'ai compris comment ça fonctionne, mais il y a juste un petit problème ou plutôt un gros problème, j'arrive pas à trouver dans Références --> Ajouter ---> COM :
Microsoft Excel Object 12.0 Library
Microsoft PowerPoint Object 12.0 Library
Microsoft Word 12.0 Object Library
j'ai fais une recherche dans google et j'ai pu savoir comment ajouter Microsoft Excel Object 15.0 Library (C:\Program Files\Microsoft Office\Office15\EXCEL.exe)
c'est Microsoft Excel Object 15.0 Library est pas Microsoft Excel Object 12.0 Library car j’utilise Microsoft 2013.
mais j'arrive pas à trouver pour le chemain pour ajouter :
Microsoft PowerPoint Object 15.0 Library
Microsoft Word 15.0 Object Library
Comment faire?
j'ai une deuxième question c'est un autre utilisateur utilise Microsoft 2003 2007 ou 2010 est-ce qu'il y aura un bug parce qu'il utilise un version antécédente à la mienne (Microsoft 2013)?
J'ai lu ça dans le poste :
https://www.developpez.net/forums/d1421126/logiciels/microsoft-office/excel/macros-vba-excel/microsoft-word-14-0-object-library-manquante/
Pour l'adresse ou trouver la référence avec 2013, je ne sais pas car je ne l'ai pas.
Afin d'éviter les problèmes de compatibilité, j'ai mis dans ma source la dll compatible avec 97 (et oui le code est vieux, et au boulot on n'est jamais à jour, on vient juste de passer à Seven....) et cela fonctionne même avec 2007 à condition que la dll soit dans le répertoire de l'exe.
Afin d'éviter les problèmes de compatibilité, j'ai mis dans ma source la dll compatible avec 97 (et oui le code est vieux, et au boulot on n'est jamais à jour, on vient juste de passer à Seven....) et cela fonctionne même avec 2007 à condition que la dll soit dans le répertoire de l'exe.
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
>
Utilisateur anonyme
26 mars 2016 à 12:48
26 mars 2016 à 12:48
je ne vois pas un dll dans le code suivant :
'Aller dans My Project- Références et ajouter dans COM:
'Microsoft Excel Object 12.0 Library
'Microsoft PowerPoint Object 12.0 Library
'Microsoft Word 12.0 Object Library
Option Strict On
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop.PowerPoint
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Button1.Text = "Ouvrir Excel"
Button2.Text = "Ouvrir PowerPoint"
Button3.Text = "Ouvrir Word"
Button1.AutoSize = True
Button2.AutoSize = True
Button3.AutoSize = True
End Sub
'Excel
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'Créer une instance de Excel
Dim ApExcel As New Excel.Application
Dim wbExcel As New Excel.Worksheet
'Créer un nouveau classeur
ApExcel.Workbooks.Add()
'Ouvrir un classeur
'ApExcel.Workbooks.Open("chemin classeur.xls")
'rendre le classeur visible
ApExcel.Visible = True
ApExcel.Range("A1").Formula = "Bonjour" 'Ajouter du texte à une cellule
ApExcel.Workbooks.Close() 'on ferme le classeur
ApExcel.Visible = False
ApExcel.Quit() 'on ferme Excel
End Sub
'PowerPoint
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'Créer une instance de PowerPoint
Dim PptApp As New PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
'Créer une nouvelle présentation
PptDoc = PptApp.Presentations.Add()
'rendre la présentation visible
PptApp.Visible = Microsoft.Office.Core.MsoTriState.msoCTrue
'Ouvrir une présentation
' PptDoc = PptApp.Presentations.Open("Chemin de la presentation.ppt")
PptDoc.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
PptDoc.Slides(1).Shapes(1).TextFrame.TextRange.Text = "Bonjour" 'Ajouter du texte
PptDoc.SaveAs(System.Windows.Forms.Application.StartupPath & "\mapresentation.ppt")
PptDoc.Close() 'on ferme la présentation
PptApp.Quit() 'on ferme PowerPoint
End Sub
'Word
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
'Créer une instance de word
Dim oWord As New Word.Application
'Créer un nouveau document
oWord.Documents.Add()
'Ouvrir un document
'oWord.Documents.Open("chemin document.doc")
'rendre le document word visible
oWord.Visible = True
oWord.Selection.TypeText(Text:="Bonjour") 'Ajouter du texte
oWord.ActiveDocument.Close() 'on ferme le document
oWord.Visible = False
oWord.Quit() 'on ferme Word
End Sub
End Class
peux-tu m'expliquer les étapes en détail pour mettre un dll dans le dossier *.exe
désolée je suis un débutant dans le langage de Visual Basic, je n'ai pas tout compris
'Aller dans My Project- Références et ajouter dans COM:
'Microsoft Excel Object 12.0 Library
'Microsoft PowerPoint Object 12.0 Library
'Microsoft Word 12.0 Object Library
Option Strict On
Imports Microsoft.Office.Interop
Imports Microsoft.Office.Interop.Word
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop.PowerPoint
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Button1.Text = "Ouvrir Excel"
Button2.Text = "Ouvrir PowerPoint"
Button3.Text = "Ouvrir Word"
Button1.AutoSize = True
Button2.AutoSize = True
Button3.AutoSize = True
End Sub
'Excel
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'Créer une instance de Excel
Dim ApExcel As New Excel.Application
Dim wbExcel As New Excel.Worksheet
'Créer un nouveau classeur
ApExcel.Workbooks.Add()
'Ouvrir un classeur
'ApExcel.Workbooks.Open("chemin classeur.xls")
'rendre le classeur visible
ApExcel.Visible = True
ApExcel.Range("A1").Formula = "Bonjour" 'Ajouter du texte à une cellule
ApExcel.Workbooks.Close() 'on ferme le classeur
ApExcel.Visible = False
ApExcel.Quit() 'on ferme Excel
End Sub
'PowerPoint
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'Créer une instance de PowerPoint
Dim PptApp As New PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
'Créer une nouvelle présentation
PptDoc = PptApp.Presentations.Add()
'rendre la présentation visible
PptApp.Visible = Microsoft.Office.Core.MsoTriState.msoCTrue
'Ouvrir une présentation
' PptDoc = PptApp.Presentations.Open("Chemin de la presentation.ppt")
PptDoc.Slides.Add(1, PowerPoint.PpSlideLayout.ppLayoutTitleOnly)
PptDoc.Slides(1).Shapes(1).TextFrame.TextRange.Text = "Bonjour" 'Ajouter du texte
PptDoc.SaveAs(System.Windows.Forms.Application.StartupPath & "\mapresentation.ppt")
PptDoc.Close() 'on ferme la présentation
PptApp.Quit() 'on ferme PowerPoint
End Sub
'Word
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
'Créer une instance de word
Dim oWord As New Word.Application
'Créer un nouveau document
oWord.Documents.Add()
'Ouvrir un document
'oWord.Documents.Open("chemin document.doc")
'rendre le document word visible
oWord.Visible = True
oWord.Selection.TypeText(Text:="Bonjour") 'Ajouter du texte
oWord.ActiveDocument.Close() 'on ferme le document
oWord.Visible = False
oWord.Quit() 'on ferme Word
End Sub
End Class
peux-tu m'expliquer les étapes en détail pour mettre un dll dans le dossier *.exe
désolée je suis un débutant dans le langage de Visual Basic, je n'ai pas tout compris
Sur la page, il y a un aperçu du code, que tu viens de copier coller.
Il y a aussi un projet complet, avec un bouton bleu "Télécharger le projet", tu obtiendras un zip, dans lequel se trouve un projet winform complet avec des exemples et les dll, en fait il en faut au moins deux, mais comme je l'ai écrit plus haut c'est vieux.
Quand tu compiles un projet, Visual Studio écrit un exe dans
Par défaut, le nom du projet est celui de la solution.
Il y a aussi un projet complet, avec un bouton bleu "Télécharger le projet", tu obtiendras un zip, dans lequel se trouve un projet winform complet avec des exemples et les dll, en fait il en faut au moins deux, mais comme je l'ai écrit plus haut c'est vieux.
Quand tu compiles un projet, Visual Studio écrit un exe dans
Nom du Projet \Nom de la solution\bin\Debug ou Realeseselon le mode de compilation.
Par défaut, le nom du projet est celui de la solution.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
31 mars 2016 à 08:41
31 mars 2016 à 08:41
j'ai cherché mais j'ai rien trouvé dans Internet
Pour le choix d'un repertoire:
https://www.informatiweb.net/tutoriels/informatique
supprimer les messages d'alerte d'Excel
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts?redirectedfrom=MSDN
Voilà!
Pour le choix d'un repertoire:
https://www.informatiweb.net/tutoriels/informatique
supprimer les messages d'alerte d'Excel
https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.displayalerts?redirectedfrom=MSDN
Voilà!
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
31 mars 2016 à 10:42
31 mars 2016 à 10:42
merci de m'avoir répondu aussi rapidement.
Je ne me suis pas bien exprimer, je sais déjà comment utiliser : "FolderBrowserDialog" (même si j'ai appris beaucoup de choses utiles dans : https://www.informatiweb.net/tutoriels/informatique mais le problème est que je ne sais pas où mettre le chemin que j'ai récupéré en utilisant "FolderBrowserDialog".
Si je le mets ici : "ApExcel.ActiveWorkbook.Save()" il m'affiche une erreur.
je dois bien mettre le chemin quelque part parce que "FolderBrowserDialog" récupère que le chemin d'accès il n'enregistré pas la feuille excel.
à propos de
ce n'est pas que je n'ai rien trouvé le problème pour trouver quelque chose d'utile il faut mettre les bons mots dans Google
Je ne me suis pas bien exprimer, je sais déjà comment utiliser : "FolderBrowserDialog" (même si j'ai appris beaucoup de choses utiles dans : https://www.informatiweb.net/tutoriels/informatique mais le problème est que je ne sais pas où mettre le chemin que j'ai récupéré en utilisant "FolderBrowserDialog".
Si je le mets ici : "ApExcel.ActiveWorkbook.Save()" il m'affiche une erreur.
je dois bien mettre le chemin quelque part parce que "FolderBrowserDialog" récupère que le chemin d'accès il n'enregistré pas la feuille excel.
à propos de
j'ai cherché mais j'ai rien trouvé dans Internet
ce n'est pas que je n'ai rien trouvé le problème pour trouver quelque chose d'utile il faut mettre les bons mots dans Google
31 mars 2016 à 12:20
ApExcel.ActiveWorkbook.SaveAs(dossier_selectionner & "\" & nom & ".xls")
l'erreur est que j'ai ajouter : .xls
c'est pour ça qu'il affiche l'erreur suivante quand j'essaie d'ouvrir la feuille excel :
Le format du fichier que vous tentez d'ouvrir, "Calcul.xls", est différent de celui spécifié par l'extension du fichier. Assurez-vous que le fichiers n'est pas endommagé et qu'il provient d'une source fiable avant d'ouvrir. Souhaitez-vous ouvrir le fichier maintenant ? Oui/Non/Annuler
Visual Basic enregistre la feuille excel déjà sous format xlsx, alors en ajoutant .xls a la fin ça crée un erreur
merci tu m'as beaucoup aidée je te suis vraiment très reconnaissant