Probléme sur vb6.0

Fermé
Signaler
Messages postés
41
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
21 novembre 2009
-
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
-
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

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 188
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
Messages postés
41
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
21 novembre 2009
3
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
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 188
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
Messages postés
41
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
21 novembre 2009
3
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!
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 188
il faut tuer le processus ... je regarde ça .. réponse demain :d
Messages postés
41
Date d'inscription
vendredi 15 février 2008
Statut
Membre
Dernière intervention
21 novembre 2009
3
Je vous remercie beaucoup pour votre aide
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 188
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