OVH Cloud OVH Cloud

generer un doc EXCEL avec VB

4 réponses
Avatar
fabrizio-r
Bonjour a tous,

J'aimerai savoir comment faire pour g=E9n=E9rer un doc EXCEL=20
a partir d'un clic sur un bouton dans VB.

Je sais qu'il faut que je creer une macro dans Excel, que=20
je fasse les op=E9rations voulu, et que je r=E9cupere le code=20
VB de la macro pour le mettre dans mon projet VB, mais VB=20
trouve pas mal d'erreurs ( il ne connais pas certaines=20
methodes comme Range par ex... )

Quelqu'un peut il m'aidre sur ce sujet????

Je vous remercie d'avance,

Fabrice.

4 réponses

Avatar
Firebird
Voici un bout de code ....


Set xlSheet = CreateObject("Excel.application")
xlSheet.Workbooks.Open App.Path + "fichierexcel.xls"
xlSheet.Visible = True

xlSheet.Worksheets("feuille1").Activate
xlSheet.ActiveSheet.Range("A1:F100").ClearContents

xlSheet.ActiveSheet.Cells(1, 1).NumberFormat = "mmmm-yy"

' Contours
xlSheet.ActiveSheet.Cells(1, 1).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
' Fin Contours

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat = "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 100

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat = "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 50000

xlSheet.Cells(6, 1).FormulaR1C1 = xlSheet.Cells(3, 1) /
xlSheet.Cells(2, 1)


xlSheet.ActiveWorkbook.Close Savechanges:=True
xlSheet.Quit


Voilà pour quelques exemples....

@+

Firebird



"fabrizio-r" a écrit dans le message
de news:169701c426aa$a4675df0$
Bonjour a tous,

J'aimerai savoir comment faire pour générer un doc EXCEL
a partir d'un clic sur un bouton dans VB.

Je sais qu'il faut que je creer une macro dans Excel, que
je fasse les opérations voulu, et que je récupere le code
VB de la macro pour le mettre dans mon projet VB, mais VB
trouve pas mal d'erreurs ( il ne connais pas certaines
methodes comme Range par ex... )

Quelqu'un peut il m'aidre sur ce sujet????

Je vous remercie d'avance,

Fabrice.
Avatar
fabrizio-r
je te remercie beaucoup pour ton aide.
cependant je ne parviens pas a reproduire le code de ma
cro excel dans mon projet VB.....

Fabrice.

-----Message d'origine-----
Voici un bout de code ....


Set xlSheet = CreateObject("Excel.application")
xlSheet.Workbooks.Open App.Path


+ "fichierexcel.xls"
xlSheet.Visible = True

xlSheet.Worksheets("feuille1").Activate
xlSheet.ActiveSheet.Range


("A1:F100").ClearContents

xlSheet.ActiveSheet.Cells(1, 1).NumberFormat


= "mmmm-yy"

' Contours
xlSheet.ActiveSheet.Cells(1, 1).Select
Selection.Borders(xlDiagonalDown).LineStyle =


xlNone
Selection.Borders(xlDiagonalUp).LineStyle =


xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
' Fin Contours

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat


= "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 100

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat


= "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 50000

xlSheet.Cells(6, 1).FormulaR1C1 = xlSheet.Cells


(3, 1) /
xlSheet.Cells(2, 1)


xlSheet.ActiveWorkbook.Close Savechanges:=True
xlSheet.Quit


Voilà pour quelques exemples....

@+

Firebird



"fabrizio-r" a


écrit dans le message
de news:169701c426aa$a4675df0$
Bonjour a tous,

J'aimerai savoir comment faire pour générer un doc EXCEL
a partir d'un clic sur un bouton dans VB.

Je sais qu'il faut que je creer une macro dans Excel, que
je fasse les opérations voulu, et que je récupere le code
VB de la macro pour le mettre dans mon projet VB, mais VB
trouve pas mal d'erreurs ( il ne connais pas certaines
methodes comme Range par ex... )

Quelqu'un peut il m'aidre sur ce sujet????

Je vous remercie d'avance,

Fabrice.


.



Avatar
Firebird
Il y a une différence entre VB et le VBA d'excel. Il n'y a pas de
compatibilité totale entre les deux, il faut tester ce qui marche ou pas à
défaut d'avoir une bon bouquin.

Je suggère quelques sites avec d'autres exemples de codes :
codes-sources.com ou vbfrance.com

@ bientôt

Firebird



"fabrizio-r" a écrit dans le message
de news:16fa01c426b9$1a4bd880$
je te remercie beaucoup pour ton aide.
cependant je ne parviens pas a reproduire le code de ma
cro excel dans mon projet VB.....

Fabrice.

-----Message d'origine-----
Voici un bout de code ....


Set xlSheet = CreateObject("Excel.application")
xlSheet.Workbooks.Open App.Path


+ "fichierexcel.xls"
xlSheet.Visible = True

xlSheet.Worksheets("feuille1").Activate
xlSheet.ActiveSheet.Range


("A1:F100").ClearContents

xlSheet.ActiveSheet.Cells(1, 1).NumberFormat


= "mmmm-yy"

' Contours
xlSheet.ActiveSheet.Cells(1, 1).Select
Selection.Borders(xlDiagonalDown).LineStyle xlNone
Selection.Borders(xlDiagonalUp).LineStyle xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
' Fin Contours

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat


= "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 100

xlSheet.ActiveSheet.Cells(2, 1).NumberFormat


= "#,##0.00
[$?-1];[Red]-#,##0.00 [$?-1]"
xlSheet.ActiveSheet.Cells(2, 1).Value = 50000

xlSheet.Cells(6, 1).FormulaR1C1 = xlSheet.Cells


(3, 1) /
xlSheet.Cells(2, 1)


xlSheet.ActiveWorkbook.Close Savechanges:=True
xlSheet.Quit


Voilà pour quelques exemples....

@+

Firebird



"fabrizio-r" a


écrit dans le message
de news:169701c426aa$a4675df0$
Bonjour a tous,

J'aimerai savoir comment faire pour générer un doc EXCEL
a partir d'un clic sur un bouton dans VB.

Je sais qu'il faut que je creer une macro dans Excel, que
je fasse les opérations voulu, et que je récupere le code
VB de la macro pour le mettre dans mon projet VB, mais VB
trouve pas mal d'erreurs ( il ne connais pas certaines
methodes comme Range par ex... )

Quelqu'un peut il m'aidre sur ce sujet????

Je vous remercie d'avance,

Fabrice.


.



Avatar
vava16
fabrizio-r a écrit :
Bonjour a tous,

J'aimerai savoir comment faire pour générer un doc EXCEL
a partir d'un clic sur un bouton dans VB.

Je sais qu'il faut que je creer une macro dans Excel, que
je fasse les opérations voulu, et que je récupere le code
VB de la macro pour le mettre dans mon projet VB, mais VB
trouve pas mal d'erreurs ( il ne connais pas certaines
methodes comme Range par ex... )

Quelqu'un peut il m'aidre sur ce sujet????

Je vous remercie d'avance,

Fabrice.



As tu ajouté la référence Excel 8.0 a ton projet VB cela permettra à VB
de comprendre un peu plus le VBA.

Bon courage

pascal

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com