Insérer le contenu d'une cellule excel dans une textbox vb6

cs_batix Messages postés 5 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 4 juin 2008 - 29 mai 2008 à 14:09
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 4 juin 2008 à 10:52
Bonjour,

Je suis entrain de réaliser un programme VB6 permettant de faire le suivi d'interventions réalisées au sein d'un service informatique.

Mon programme dispose de plusieurs textbox que l'on rempli avec le nom de l'intervenant, du demandeur ...
Une fois toutes ces informations saisies, elles sont stockées dans un fichier Excel.

J'ai créé un menu à mon programme permettant d'enregistrer le suivi, en créer un nouveau, enregistrer etc.

Je voudrai par le biais de la fonction ouvrir, choisir un fichier Excel d'une intervention précédente et que les informations qu'il contient soit recopier dans les textboxs correspondante.

Pour le moment lorsque je clic sur ouvrir, cela m'ouvre la fenêtre permettant de choisir le fichier mais je ne sais pas comment faire après pour que les informations qu'il contient soit copiées dans les bonnes textbox.

Voici pour le moment le code que j'ai :
*********************************************************
Private Sub ouvrir_Click()
    'Déifnition des propriétés de la boite de dialogue Ouvrir du menu Fichier
    cmd.DialogTitle = "Ouvrir"
    cmd.CancelError = False
    cmd.Filter = "Ecxel (*.xls)"
    cmd.FilterIndex = 1
    cmd.InitDir = "\\srvblad\baseteck\Suivi d'intervention"
    cmd.ShowOpen
      
    'Transfert des valeurs
    nomintervenant.Value = Xl.Range("b" & 1).Value
End Sub
*********************************************************

12 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
29 mai 2008 à 14:33
Salut
Si tu es vraiment sous VB6 (et pas sous VBA de Excel) :
- Le CommonDialog ne permet que de sélectionner l'emplacement et le nom du fichier
  Il te faut ensuite l'ouvrir
- Une fois que tu l'auras ouvert, il sera facile de récupérer la valeur d'une des cellules pour la stocker dans ta TextBox

Pour tout cela, suffit de chercher "ouvrir excel" parmi les sources du site et tu sauras tout.

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_batix Messages postés 5 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 4 juin 2008
29 mai 2008 à 14:57
Merci de ton aide mais comment puis-je récupérer le nom du fichier sélectionné dans la fenêtre ouvrir pour ensuite demander à mon programme de l'ouvrir?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2008 à 16:54
salut,

çà doit être msgbox cmd.filename...
il n'y a pas d'aide (F1) dans office?

ps : le bouton valider sert à valider la réponse donnant la solution finale au pb.... si tu valides tout c'est qu'il n'y a plus de question non?
0
cs_batix Messages postés 5 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 4 juin 2008
29 mai 2008 à 17:35
Pourquoi office? Moi ce qui m'intéresse c'est de récupérer le nom de fichier sélectionné dans la fenêtre ouvrir (comme dans tout autre programme) mais de visual basic 6.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 mai 2008 à 17:56
t'en fais quoi de ton document ouvert......
comment tu sélectionnes une cellule si tu n'as pas au moins la référence à excel....
tu as testé .filename ?

et F1 reste F1, par chance
0
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
30 mai 2008 à 01:00
Ouvre les yeux, Batix : cmd.filename
Maintenant que tu as le nom du fichier, il faut ouvrir le fichier Excel.
Pour ça, charge et regarde des sources qui parlent de Excel.

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
30 mai 2008 à 02:07
Peut-être aussi une recherche sur
Excel.Application

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_batix Messages postés 5 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 4 juin 2008
3 juin 2008 à 15:54
J'ai réussi à trouver.
Voici le bout de code :

************************************************************
    'Définition des propriétés de la boite de dialogue Ouvrir du menu Fichier
    cmd.DialogTitle = "Ouvrir suivi"
    cmd.CancelError = False
    cmd.Filter = "Excel (*.xls)"
    cmd.FilterIndex = 1
    cmd.InitDir = "[file://\\chemin répertoire \\chemin répertoire]"
    cmd.ShowOpen
    
    'Ouverture du fichier Excel séléctionné
    Dim fichier As String
    Dim DevisExcel As Object


    fichier = cmd.FileName
   
    Set DevisExcel = CreateObject("excel.Application")
    DevisExcel.Visible = True
    Workbooks.Open FileName:=fichier, Editable:=True
************************************************************

Au final quand je passe par le menu et que je fais ouvrir, cela m'ouvre bien mon fichier Excel. Il ne me reste plus qu'à trouver comment transférer les informations qu'il contient vers mes textbox. Si quelqu'un a une suggestion.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 juin 2008 à 16:02
euh.....
cette ligne fonctionne? : Workbooks.Open FileName:=fichier, Editable:=True
certain de ne pas être en VBA (dans excel)? eu non pas VB6?!

à moins que Workbooks soit déclarée quelquepart?
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 juin 2008 à 22:54
Tu peux te créer d'autres variables qui agiront comme WorkBook et WorkSheet
    Dim wkBook As Object
    Dim wkSheet as object

    Set DevisExcel = CreateObject("Excel.Application")
    DevisExcel.Workbooks.Open FileName:=fichier, Editable:=True
    Set wkBook = DevisExcel.ActiveWorkbook
    Set wkSheet = wkBook .ActiveSheet ' ou Sheets("NomDeLaFeuille")

'Pour inscrire des données
    wkSheet.Range("A1") = MaValeur

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_batix Messages postés 5 Date d'inscription mardi 22 juillet 2003 Statut Membre Dernière intervention 4 juin 2008
4 juin 2008 à 09:09
Workbooks.Open FileName:=fichier, Editable:=True

Cette ligne fonctionne. Si je ne l'a met pas, mon classeur s'ouvre et se referme.
Et je t'assure que je suis bien sous VB6.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
4 juin 2008 à 10:52
Il faudrait voir le code de ta procédure pour mieux comprendre.
Es-tu certain de ne pas avoir mis de Close dans cette procédure ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous