Probléme sur vb6.0
mounaattia
Messages postés
41
Date d'inscription
Statut
Membre
Dernière intervention
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Probléme sur vb6.0
- Vb6.0 download - Télécharger - Divers Utilitaires
4 réponses
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
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
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
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
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!
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!
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
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
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