Question et demande d'aide concernant un tutorial : Ouvrir un fichier Excel à pa

Résolu
Ackby Messages postés 44 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 28 juillet 2010 - 12 juil. 2010 à 16:11
Ackby Messages postés 44 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 28 juillet 2010 - 13 juil. 2010 à 09:37
Bonjour,

Je souhaite ouvrir un fichier Excel en cliquant sur un bouton dans un programme réalisé en VB6.0

Après avoir lu le tutorial :"Utiliser Excel à partir de Visual Basic par Sébastien Curutchet" , j'ai réalisé le code suivant :

Private Sub Command1_Click()
If Check1 1 And Check2 1 Then
MsgBox ("Vous avez coché deux actions contradictoires")
GoTo 200
End If
If Check1 = 1 Then
    Form1.Show
    Form25.Hide
    'Déclaration des variables
    Dim appExcel As Excel.Application
    Dim wbExcel As Excel.Workbook
    Dim wsExcel As Excel.Worksheet
    
    'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
        'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("D:\visual basic (projet-tutoré)\AvecGMAO.xls")
    Set wsExcel = wbExcel.Worksheets(1)
    End If
    
If Check2 = 1 Then
    Form10.Show
    Form25.Hide
    End If
200  End Sub


Lorsque j'exécute mon programme, il m'ouvre bien la form1 mais ne m'ouvre pas Excel.

De plus après avoir exécuter le programme, je ne peux plus du tout ouvrir mon fichier Excel, il me dit qu'il est déjà en cours d'application alors que sur l'écran, il n'y a rien d'ouvert

Merci de votre aide et merci à sébastien pour son tuto ;)

PS : dans projet --> référence , j'ai Microsoft Excel 12.0 Object Library qui est coché

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
12 juil. 2010 à 17:34
Salut
Le CreateObject doit créer une instance de Excel mais ne l'affiche pas.
Il suffirait de faire un appExcel.Visible = True pour solutionner le problème.

Quant au fait que le fichier soit bloqué, c'est normal puisque tu l'as ouvert dans ton programme, mais jamais refermé.
Le fichier reste donc verrouillé.
Si tu regardes dans le gestionnaire de programme, à mon avis, il doit y avoir un Excel toujours en cours de run.
Il te faudra surement tuer la tâche pour libérer le fichier.
Voir fonction Quit du WorkBook

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
Ackby Messages postés 44 Date d'inscription mardi 16 février 2010 Statut Membre Dernière intervention 28 juillet 2010
13 juil. 2010 à 09:37
Merci pour ta réponce sa marche;)

Une dernière petite question : le code suivant permet de fermer Excel d'après ce que j'ai compris. Dans mon programme je souhaiterais avoir une macro sur Excel qui me permette de refermer Excel et de revenir sur Visualbasic, je suppose donc qu'il faut que j'insère ce code dans la macro qui serra dans mon fichier Excel ?

wbExcel.Close 'Fermeture du classeur Excel
appExcel.Quit'Fermeture de l'application Excel

'Désallocation mémoire
Set wsExcel = Nothing
Set wbExcel = Nothing
Set appExcel = Nothing
0
Rejoignez-nous