Probléme sur vb6.0

Fermé
mounaattia Messages postés 41 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 21 novembre 2009 - 7 mars 2008 à 17:48
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 8 mars 2008 à 02:02
salut,
dans un code via vb6.0 j'ouvre une page excel pour stocker des informations.
la premiére ouverture se passe bien puis je ferme cette fenetre et j'ouvre pour la deuxiéme fois une page excel
un message d'erreur m'apparait"la methode range de l'objet global a échoué".SVP je veux une solution pour ce probléme.
merci d'avace

4 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mars 2008 à 18:08
Bonjour,

Sans voir le bout de code, ça va être difficile ...

Peux-tu mettre la porcédure ou la fonction où le problème apparaît ?

;o)

Polux
0
mounaattia Messages postés 41 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 21 novembre 2009 3
7 mars 2008 à 18:14
salut,
c'est une partie du code qui ouvre le fichier excel:
If (Combo1.Text = "") Then
MsgBox "il faut choisir un compte"
Else
Dim x1 As Excel.Application
Set x1 = CreateObject("Excel.application")
x1.Workbooks.Open App.Path & "\EXTRAIT.xls"


Range("E4") = Combo1.Text
Range("E4") = Combo1.Text
Range("c20") = ""
Range("c20") = Combo1.Text
Range("G4") = Text3.Text
'Range("J4") = ""
'Range("L4") = ""
Range("C8") = Combo1.Text
Range("E8") = Text3.Text
'Range("H8") = ""
x1.Visible = True
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mars 2008 à 19:50
re,

Ok ... voilà on comprend mieux ... lol

Voilà ce qu'il faut que tu fasses:

Dim x1 As Excel.Application
Set x1 = CreateObject("Excel.application")
x1.Workbooks.Open App.Path & "\EXTRAIT.xls"


x1.Worksheets("Feuil1").Range("E4").Value = Combo1.Text
x1.Worksheets("Feuil1").Range("E4").Value = Combo1.Text
x1.Worksheets("Feuil1").Range("c20").Value = ""
x1.Worksheets("Feuil1").Range("c20").Value = Combo1.Text
x1.Worksheets("Feuil1").Range("G4").Value = Text3.Text
'x1.Worksheets("Feuil1").Range("J4").Value = ""
'x1.Worksheets("Feuil1").Range("L4").Value = ""
x1.Worksheets("Feuil1").Range("C8").Value = Combo1.Text
x1.Worksheets("Feuil1").Range("E8").Value = Text3.Text
'x1.Worksheets("Feuil1").Range("H8").Value = ""
x1.Visible =

Voilà un exemple pour la feuille 1 du classeur

Tu peux également remplacer Worksheets("Feuil1") par :

Dim ws As Worksheet

set ws = x1.Worksheets("Feuil1")

et faire : x1.ws.Range("E4").Value = Combo1.Text ...

ou encore :

With x1.ws
.Range("E4").Value = Combo1.Tetx ...
End With


;o)

polux
0
mounaattia Messages postés 41 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 21 novembre 2009 3
7 mars 2008 à 20:26
Salutt,
ce n'est pas ça mon probléme.
mon probléme est que quand je ferme (dans mon application VB6) un classeur EXCEL, l'objet EXCEL que j'ai fermé n'est plus disponible (c'est normal), mais par contre VB6 garde EXCEL ouvert jusqu'à ce que mon application elle-même soit totalement terminée et fermée... ce qui ne me convient pas du tout! Ce n'est pourtant pas faute d'avoir essayé toutes les combinaisons possibles:

ObjXls.ActiveWorkbook.Close
ObjXls.Quit
Set ObjXls = Nothing
excel.Application.Quit
excel.ActiveSheet.Close
excel.ActiveWorkbook.Close
etc...

Auriez-vous une idée pour m'aider...??
Merci d'avance!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mars 2008 à 20:41
il faut tuer le processus ... je regarde ça .. réponse demain :d
0
mounaattia Messages postés 41 Date d'inscription vendredi 15 février 2008 Statut Membre Dernière intervention 21 novembre 2009 3
7 mars 2008 à 20:51
Je vous remercie beaucoup pour votre aide
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
8 mars 2008 à 02:02
Bonjour,

Insomnie, j'en ai profité pour te faire ton bidule. Tu trouveras un exemple ici : https://www.cjoint.com/?dibZnFdmYj

C'est un exemple qui montre comment tuer un processus ... il faut savoir que c'est une méthode plutôt brutale et qui ferme de toutes les applications Excel qui sont ouvertes, sans sauvegarde ni message d'avertissement.

;o)

polux
0