- 'En complément de la source:
- 'http://www.vbfrance.com/codes/OUVERTURE-APPLICATION-EXCEL-AVEC-OPENFILEDIALOG-VUE-MANIPULER-APPLICATION_38376.aspx
- 'Après avoir ouvert l'application excel voici quelques exemple de code
- ' qui permettent de travailler dans le classeur
-
- Dim appxls As Microsoft.Office.Interop.Excel.Application
- Dim sheet As Microsoft.Office.Interop.Excel.Workbook
-
- Sub ModifFichierExcel()
-
- appxls = New Microsoft.Office.Interop.Excel.Application
- appxls.Visible = True
-
- 'Ajouter un nouveau classeur
- appxls.Workbooks.Add()
-
- 'Enregistrer sous le classeur
- appxls.ActiveWorkbook.SaveAs("C:\NouveauClasseur")
-
- 'Enregistrer
- appxls.ActiveWorkbook.Save()
-
- 'Selectionner une feuille
- appxls.ActiveWorkbook.Worksheets("Feuil1").Select()
-
- 'Renommer une feuille
- appxls.ActiveWorkbook.Worksheets("Feuil1").Name = "NouveauNom"
-
- 'Ajouter une feuille après la dernière feuille
- appxls.Worksheets.Add(After:=appxls.Worksheets(appxls.Worksheets.Count))
- 'Et la renommer
- appxls.ActiveSheet.Name = "NouveauNom2"
-
- 'Ranger une valeur dans une cellule sans que le feuille et la cellule de destination ne soient sélectionnées
- Dim value As String = "valeur"
- appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = value
-
- 'Récupérer la valeur d'une cellule
- value = appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value
-
- 'Mettre une formule dans une cellule
- appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Formula = "=A2+A3"
-
- 'Arrondir une valeur pour la mettre dans une cellule
- Dim value1 As Decimal = 6.55957
- appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = Decimal.Round(value1, 2)
-
- 'Sélectionner une cellule
- sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
- sheet.Activate()
- sheet.Cells(1, 1).Select()
- 'ou
- sheet.Range("A2").Select()
-
- 'Sélectionner une plage de cellule
- sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
- sheet.Activate()
- sheet.Range("A2:C10").Select()
-
- 'Sélectionner plusieurs cellues
- sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
- sheet.Activate()
- sheet.Range("A2;C10;D12").Select()
-
- 'Copier une cellule
- sheet.Range("A1").Copy()
-
- 'Couper une cellule
- sheet.Range("A1").Cut()
-
- 'Coler la cellule
- sheet.Range("A2").PasteSpecial()
- 'PasteSpecial: si pas d'argument fait un collage normal
- 'sinon on peut définir des agrgument tel que coller la mise en forme, la valeur...
-
- 'Supprimer une ligne
- sheet.Rows(1).delete()
-
- 'Supprimer une colonne
- sheet.Columns(1).delete()
-
- 'Recopie automatique de formule et autre
- Dim xlFillDefault As Microsoft.Office.Interop.Excel.XlAutoFillType
- sheet.Range("A8:A9").Select()
- sheet.Range("A8:A9").AutoFill(Destination:=sheet.Range("A8:A20"), Type:=xlFillDefault)
-
- 'imprimer un feuille
- appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
- appxls.ActiveWindow.SelectedSheets.PrintOut()
-
- 'imprimer un feuille en passant par l'aperçu avant impression
- appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
- appxls.ActiveWindow.SelectedSheets.PrintPreview()
'En complément de la source:
'http://www.vbfrance.com/codes/OUVERTURE-APPLICATION-EXCEL-AVEC-OPENFILEDIALOG-VUE-MANIPULER-APPLICATION_38376.aspx
'Après avoir ouvert l'application excel voici quelques exemple de code
' qui permettent de travailler dans le classeur
Dim appxls As Microsoft.Office.Interop.Excel.Application
Dim sheet As Microsoft.Office.Interop.Excel.Workbook
Sub ModifFichierExcel()
appxls = New Microsoft.Office.Interop.Excel.Application
appxls.Visible = True
'Ajouter un nouveau classeur
appxls.Workbooks.Add()
'Enregistrer sous le classeur
appxls.ActiveWorkbook.SaveAs("C:\NouveauClasseur")
'Enregistrer
appxls.ActiveWorkbook.Save()
'Selectionner une feuille
appxls.ActiveWorkbook.Worksheets("Feuil1").Select()
'Renommer une feuille
appxls.ActiveWorkbook.Worksheets("Feuil1").Name = "NouveauNom"
'Ajouter une feuille après la dernière feuille
appxls.Worksheets.Add(After:=appxls.Worksheets(appxls.Worksheets.Count))
'Et la renommer
appxls.ActiveSheet.Name = "NouveauNom2"
'Ranger une valeur dans une cellule sans que le feuille et la cellule de destination ne soient sélectionnées
Dim value As String = "valeur"
appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = value
'Récupérer la valeur d'une cellule
value = appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value
'Mettre une formule dans une cellule
appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Formula = "=A2+A3"
'Arrondir une valeur pour la mettre dans une cellule
Dim value1 As Decimal = 6.55957
appxls.ActiveWorkbook.Worksheets("NouveauNom").Range("A1").Value = Decimal.Round(value1, 2)
'Sélectionner une cellule
sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
sheet.Activate()
sheet.Cells(1, 1).Select()
'ou
sheet.Range("A2").Select()
'Sélectionner une plage de cellule
sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
sheet.Activate()
sheet.Range("A2:C10").Select()
'Sélectionner plusieurs cellues
sheet = appxls.ActiveWorkbook.Worksheets("NouveauNom")
sheet.Activate()
sheet.Range("A2;C10;D12").Select()
'Copier une cellule
sheet.Range("A1").Copy()
'Couper une cellule
sheet.Range("A1").Cut()
'Coler la cellule
sheet.Range("A2").PasteSpecial()
'PasteSpecial: si pas d'argument fait un collage normal
'sinon on peut définir des agrgument tel que coller la mise en forme, la valeur...
'Supprimer une ligne
sheet.Rows(1).delete()
'Supprimer une colonne
sheet.Columns(1).delete()
'Recopie automatique de formule et autre
Dim xlFillDefault As Microsoft.Office.Interop.Excel.XlAutoFillType
sheet.Range("A8:A9").Select()
sheet.Range("A8:A9").AutoFill(Destination:=sheet.Range("A8:A20"), Type:=xlFillDefault)
'imprimer un feuille
appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
appxls.ActiveWindow.SelectedSheets.PrintOut()
'imprimer un feuille en passant par l'aperçu avant impression
appxls.ActiveWorkbook.Worksheets("NouveauNom").Activate()
appxls.ActiveWindow.SelectedSheets.PrintPreview()