UN CARNET D'ADRESSE POUR COMMENCER EN VB

bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 - 7 avril 2004 à 19:55
cs_simeu Messages postés 4 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 avril 2004 - 13 avril 2004 à 14:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/21750-un-carnet-d-adresse-pour-commencer-en-vb

cs_simeu Messages postés 4 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 15 avril 2004
13 avril 2004 à 14:23
j'ai un tableu construit sur excel mais comment pourrais je inserer des informations provenant d'un testbox vb?ou supprimer certains informations dans le tableau?
tankian18 Messages postés 122 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 16 septembre 2014
8 avril 2004 à 16:55
Ah ok. En fait le common dialog est un control qui te permet da lancer une fenetre pour que l'utilisateur aille choisir manuellement le fichier. Donc sur ton formload, si jamais le fichier ne se trouve pas ds c:\toto.txt, tu fais commondialog.showopen (il faut que tu aies placé ce control sur ta form au préalable) (tu peux meme appliquer des filtres pour que n'apparaissent que les fichiers *.txt ou ce que tu veux). Ensuite, une fois que l'utilisateur aura trouvé cliquer sur le fichier( en fait tu mets ce code juste après le .showopen), tu recupéres le l'amplacement tu fichier séléctionné par l'user par le commondialog.filename (par ex : c:\machin\toto.txt).
Après tu n'as plus qu'a faire un: filecopy commondialog.filename tonrepdedestination.

Ensuite Pour les FSO (file system object) cela te permet de creer, parcourir, modifier des fichiers. Donc tu aurais pu également faire

tu fais
Dim fso As New FileSystemObject

If fso.existfile (c:\toto.txt)
'ta suite
else
fso.CreateTextFile("c:\toto.txt")
Set Fichier = fso.opentextfile("c:\toto.txt")
fichier.writeline 'tu ecris la structure de ton file...
fichier.close
end if

Grosso modo ca doit ressembler à un truc de sce style ;) Si t'as un pb contact moi.
monsurf Messages postés 19 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 16 décembre 2004
8 avril 2004 à 12:21
Salut tankian18
Merci pour ton commentaire!
oui je crois qu'il vaut mieu priposer à l'utilisateur de coisir l'emplacement du fichier lui meme.. sauf que je sais pas comment ça marche les "common dialog :S... FSO je vois pas non plus ce que ça veut dire :( ...Si tu veux bien m'expliquer , Merci!!
tankian18 Messages postés 122 Date d'inscription lundi 21 juillet 2003 Statut Membre Dernière intervention 16 septembre 2014
8 avril 2004 à 10:30
C'est pas mal même si il y a bcp d'imperfection (Par ex le fait que l'appli démarre sur c:\contact.txt) La tu aurais pu soit proposer via une common dialog d'aller cherche le fichier ou alors en créér un vide viaz les FSO)
SInon c'est un bon début ;)
monsurf Messages postés 19 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 16 décembre 2004
7 avril 2004 à 22:07
Merci Harakor , je vais essayer ..
ici tu viens de me donner 3 fonctions que j'ai jamais utilisé (IsDate,clng,CDate) ...je te tiendrais au courrant ...
Merci!
Harakor Messages postés 6 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 17 mai 2004
7 avril 2004 à 21:40
Voila comment je procède pour mes programmes:

A l'enregistrement:
if not IsDate(txtDatedeNaissance) then
msgbox "Vous n'avez pas rentrez un champ valide pour votre date de naissance"
else
variable = clng(TxtDatedeNaissance)
end if

Pour voir l'enregistrement:

txtDatedeNaissance = CDate(variable)

Sinons tu peux aussi faire une petite fonction qui renvoi que les nombres, "." & "/" d'un paramettre.
monsurf Messages postés 19 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 16 décembre 2004
7 avril 2004 à 21:16
Merci Harakor!
j'ai compris ton idée de transformation de date ... Mais pas trop :D
je vois pas comment je vais transformer un text qui contient n'importe koi, par ex: qq1 qui va rentrer dans le champ date de naissance : "12/m6/196e"--> en numerqiue ???je pense à utiliser
Val(date de naissance)....mais retransformer en date .. je vais faire comment ???
Merci !
Harakor Messages postés 6 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 17 mai 2004
7 avril 2004 à 20:56
Salut,
Un conseil pour les dates, transforme les en numérique, et quand tu doit les lires retransformer en date. Ainsi tu auras aucun problème de compatibilité avec les différentes langues des OS.
monsurf Messages postés 19 Date d'inscription samedi 6 mars 2004 Statut Membre Dernière intervention 16 décembre 2004
7 avril 2004 à 20:29
Salut bouv
Je vois pas comment est ce que je pourrais separer les champs avec des (;)...
à propos du code postal , je l'ai declaré en integer expres, pour pouvoir (par apres) tester si c'est un code valide...
j'ai eu un problem aussi avec date de naissance; quand je la declare en type Date, il y a un problem quand on entre pas le format de date correcte: jj/mm/aaaa... donc j'été obligé de la declarer en string aussi .. ce qui donne n'importe koi , quand on entre n'importe koi ...:(
voila
Merci bcp pour tes remarque bouv ;)
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
7 avril 2004 à 19:55
Salut,

ton programme est pas mal. Pas de bug apparent sauf pour le code postal. Tu devrai declarer " intCp As String * 5"

A part ce ton fichier risque de prendre rapidement beaucoup de place car tout tes champs prennent une place determinée (commentaire = 255 caractères) meme si l'utilisateur n'utilise pas tout l'espace disponible.

Tu devrai essayer de séparer tes champs par des séparateurs du type ";"

Cela donnerai NOM;PRENOM;ADRESSE;CODEPOSTAL;VILLE;;;

Tu recupere ensuite les info avec la fonction Split qui te permet de remplir un tableau.

Si tu veux plus d'info contact moi. J'ai une source qui utilise cette fonction si tu veux

Cordialement