[ VB6 ] Enregistrer les données saisies par l'utilisateur dans un fichier EXCEL

simodel Messages postés 38 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 19 juin 2009 - 29 juil. 2008 à 15:09
simodel Messages postés 38 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 19 juin 2009 - 30 juil. 2008 à 09:41
Bonjour,

je développe une application sous VB6 avec BD SQL 2005 Express, au début, l'utilisateur doit faire des choix dans des combobox, ensuite il obtiendra un texte bien définie, je veux ajouter une commande "enregistrer" qui aura pour rôle d'enregistrer les données saisies dans différents champs ( combobox, textebox) dans un fichier Excel que l'application doit créer si elle ne le trouve pas dans un chemin précis, c'est à dire :
clique sur enregistrer =>
 - cherche le fichier dans le chemin ( mes documents par defaut ??)
 - si le fichier excel existe elle enregistre les données dessus sans l'ouvrir, dans un ordre définie ( la date doit être mise par defaut pour chaque enregistrement fait, le champs "NOM" dans Excel doit avoir le texte de "txtnom.text", on affecte à chaque colonne l'information appropriée,
si l'application ne trouve pas le fichier, elle doit le créer avec le nom de la feuille, nom du fichier, nom de colonnes... et enregistrer de la même manière en affectant chaque donnée à la colonne appropriée.
l'application doit ouvrir le fichier excel ( exemple : si elle le trouve déjà semi remplit ) elle doit enregistrer les informations directement à la 1ère ligne vide après le texte, c'est à dire continuer à remplir le fichier sans redandance d'infos dans la même ligne déjà remplie
je n'ai jamais travaillé avec un fichier excel sous VB6, je ne sais pas comment remedier à la solution.
pourriez vous m'aider s'il vous plait !!
en attendant vos réponses je cherche toujours sur le site, ésperant trouver une fonction ou un code qui peut contenir toutes ces demandes
je vous remercie tous vous m'avez bcp aidé et je vous suis reconnaissant !!

Simo

6 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 16:53
Bonjour,

Une première piste, juste 2 posts en dessous du tiens...

http://www.vbfrance.com/infomsg_ECRIRE-DANS-FICHIER-EXCEL_1179871.aspx#5

Amicalement,
Us.
0
simodel Messages postés 38 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 19 juin 2009
29 juil. 2008 à 17:10
à : [auteur/US30/488557.aspx us_30]
Merci champion,

j'ai trouvé e code de création de fichier, mais juste pour préciser, je souhaite avoir un programme qui pourra me donner une visibilité claire, mnt je sais comment créer le fichier, reste comment vérifier s'il existe ou pas, s'il existe écrire dans ce dernier dans la 1er ligne vide ( même si remplit ) puis fermer. à savoir que j'ai plusieurs données séparées que je veux mettre en ordre sur le fichier, la date et l'heure doivent être renseignées automatiquement dans la 1ère case puis les données suivant un ordre.
la création doit subir des changement car je veux spécifier le nom du classeur de la feuille du fichier des champs et colonnes avant l'enregistrement, de sorte que l'utilisateur doit ouvrir ce fichier excel après pour pouvoir récuperer ce qui a été enregistré.
s'il te plait, s'il vous plait, comment pourriez vous m'aider ?

Simo
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 18:05
Re,

Décompose tes problèmes en unité élémentaire, cela simplifira les choses...

"cherche le fichier dans le chemin"

- Est-ce que tu veux demander le chemin à l'utilisateur, ou pas... ?
Au cas où, tu veux laisser l'utilisateur choisir son répertoire (par exemple) :
http://www.codyx.org/snippet_boite-dialogue-pour-choisir-repertoire_512.aspx

- Est-ce que tu veux rechercher le fichier quelque soit l'endroit où il se trouve... ?
Gare au doublon... et il faut connaître le nom du fichier, of course...
http://www.codyx.org/snippet_liste-tous-fichiers-disque-dur_426.aspx#1554
et adapter le code en rajoutant un test IF... mais la base est là...

"reste comment vérifier s'il existe ou pas"
Si le fichier Excel, alors il suffit de tester son existence, comme n'importe quel fichier...
http://www.codyx.org/snippet_savoir-si-fichier-existe_65.aspx

"s'il existe écrire dans ce dernier dans la 1er ligne vide ( même si remplit ) puis fermer."
Si tu as créé un objet XlsApp... alors où est le problème ?
http://www.codyx.org/snippet_comment-ouvrir-classeur-excel-vierge-depuis-vb6_202.aspx
ou encore une petite recherche pour un nombre de source inuouÏ...
http://www.vbfrance.com/recherche.aspx?tr=source&r=vb6+excel

"à savoir que j'ai plusieurs données séparées que je veux mettre en ordre sur le fichier, la date et l'heure doivent être renseignées automatiquement dans la 1ère case puis les données suivant un ordre."
Et ben, des fonctions de base, qui demande à être fait d'abord avec l'enregistreur de macro, puis retranscrit dans VB6...

" la création doit subir des changement car je veux spécifier le nom du classeur de la feuille du fichier des champs et colonnes avant l'enregistrement, "
Le nom du fichier, des cellules et autre = toujours fonction de base accessible à partir de l'enregistreur...

Oui, ben si tu avais vraiment cherché...

A la réflexion, je me demande qu'elle est l'intérêt de réaliser un pilotage d'excel par vb6, dans ton cas... Tout porte sur Excel... Pourquoi donc pas utiliser directement VBA ?

ce n'est pas une question, mais une remarque... Bon courage.

Amicalement,
Us.
0
simodel Messages postés 38 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 19 juin 2009
29 juil. 2008 à 18:50
UNGRAND BRAVO pour les premières étapes bien faite par nos amis sur le site

"Et ben, des fonctions de base, qui demande à être fait d'abord avec l'enregistreur de macro, puis retranscrit dans VB6... "
je n'est jamais travaillé avec des macros, des enregistreurs !! ... je sais mnt comment créer chercher s'il existe ... reste à mettre les infos dans les champs respectifs ? !
j'ai cherché sur le site mais je ne trouve pas ! j'ai bien cherché dans tout le site

en ce qui concerne ta remarque est juste, dans les mesures où je travaille avec excel, mais là je développe un logiciel qui doit lire et generer des textes dans une base de données SQL puis je veux que chaque utilisateur puisse enregistrer sur sa session, dans un fichier excel, les données récoltés lors de la generation, donc les champs qui portent ces infos doivent être reperés puis je dois mettre chaque info à sa place respective, à savoir que la date et l'heure doivent être mises automatiquement par code dans le A1 de la feuille excel.

j'espère que j'étais claire, j'espère que tu pourra m'aider car j'ai trop besoin de vous car je dois faire ça le plus vite possible, je dois juste m'organiser, et mettre les idées en place, je dois avoir le code complet avant la fin de la semaine ,

mes remerciements

Simo
0

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

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
29 juil. 2008 à 19:05
Décidément les demandes de pilotages des applications Office par vb6, devrait l'objet un tuto détaillé...

Premier contact avec l'enregistreur de macro... Petite explication succincte, qui conviendra que tu potasses ensuite... Je n'arrêtrai là ensuite... C'est juste pour te mettre sur la voie...

1. Ouvre EXCEL
2. Un classeur si cela n'était pas déjà le cas... en principe pas la peine, donc.
3. Dans le menu Outil > Macro > Nouvelle Macro
4. Clique dessus... oui, je sais c'est bête de le dire, et longue à écrire...
5. Faire quelques actions sur la feuille courante... Par exemple, Rentrer un petit texte, met le en fond de couleur, en gras. Voilà. STOP ! on va pas y passer la soirée...
6. Arrêter l'enregistreur de macro.... Appuyer sur le petit carré dans le menu qui s'est affiché lors du lancement de l'enregistrement.
7. Le grand art : Tu vas regarder le code VBA de la macro !... en faisant ALT+F11 pour aller vite... sinon retourne dans le menu, et je te laisse trouver le bon menu...
8. Là tu seras dans Visual BASIC editeur... ET comme tu connais VB6, et bien autant dire, que tu sais déjà tout.
9. Ouvre Module1, et tu pourras observé le code de la macro1, que tu viens de faire... magique.

Bon courage, je te laisse admirer et étudier tout ça. Mais pour tes problèmes, il suffit de récupérer le code VBA, et le mettre dans VB6, en mettant en premier l'objet référant, bien évidemment...

Amicalement,
Us.
0
simodel Messages postés 38 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 19 juin 2009
30 juil. 2008 à 09:41
Simo
0
Rejoignez-nous