moseg
Messages postés3Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention13 avril 2005
-
13 avril 2005 à 09:32
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 2022
-
14 avril 2005 à 00:39
Bonjour a tous,
Voici mon code pour ouvrir un fichier Excel a partir d'un bouton :
Private Sub Command1_Click()
Resultat = FindWindow(vbNullString, "calcul")
If Resultat <> 0 Then
Rep = ShowWindow(Resultat, 2)
Rep = ShowWindow(Resultat, 1)
Else
Temp = 0
RetValeur = Shell("C:\Program Files\Microsoft Office\Office\excel.exe c:\calcul.xls", 1)
End If
End Sub
Ce que je voudrai c'est ouvrir mon fichier excel et le faire reapparaitre sans le reouvrir en recliquant.
Ca marche pour d'autres applications mais pas Excel car la feuille ne s'appelle pas vraiment Calcul
Quelqu'un peut il m'eclairer ?
moseg
Messages postés3Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention13 avril 2005 13 avril 2005 à 09:33
J'oubliai , voici mon module :
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Public Resultat As Long
moseg
Messages postés3Date d'inscriptionmardi 21 décembre 2004StatutMembreDernière intervention13 avril 2005 13 avril 2005 à 16:36
Bon,apres avoir passé la journée a galéré ,je suis arrivé a ca :
'Déclaration des variables
Dim Bool As Boolean
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Private Sub Command1_Click()
If Bool = True Then
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wbExcel = appExcel.Workbooks.Open("c:\calcul.xls")
Bool = False
Else
wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit 'Fermeture de l'application Excel
'Désallocation mémoire
Set wbExcel = Nothing
Set appExcel = Nothing
Bool = True
End If
End Sub
Private Sub Form_Load()
Bool = True
End Sub
Le probleme c'est je n'arrive pas a ouvrir mon fichier !!!!! pourtant excel se lance bien ( il est dans mes processus) . S'agit t'il d'un bug
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 14 avril 2005 à 00:39
Salut,
Bien sur qu'il est ouvert tu as deux solutions soit tu géres directement Excel par VB
ex:
une fois ouvert
sheets("Feuil1").Range("A1").value = "ça me prends la tête"
ira écrire "ça me prends la tête" sur ta feuille1
tout ceci sans qu'excel soit visible si tu veux le voir ....
appExcel.Visible = true
Mais bon si tu veux y traivailler de suite dedans comme dans un programe normal utilises plutot la fonction ShellExecute qui te lancera excel.