Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007
-
24 sept. 2007 à 11:24
Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007
-
25 sept. 2007 à 08:24
Bonjour à toutes et à tous.
Je suis nouveau venu sur ce site, et par avance je vous prie de me pardonner si je fais quelques petites erreurs lors de ma façon de poser des questions ou dans le choix du thème. Je pense que ces petits désagréments se règleront d'eux même, le temps et vous m'y aidant.
En fait voici ce qui m'amène, sur Excel, j'ai créé un modèle de facture ainsi qu'un modèle Devis, les deux formulaires se ressemblant comme deux gouttes d'eau, mais je suis depuis déja je dois l'avouer quelques temps sur l'essai de provoquer à l'ouverture d'un de ces formulaires, une incrémentation de numéro, et ceci en VBA. Je m'explique, je souhaiterait qu'à chaque ouverture du formulaire, le numéro précedent soit remplacé par le suivant, par exemple le dernier ouvert hier s'est arrêté à 8, et le premier ouvert ce jour devrait être le 9. J'ai essayé déja pas mal de codes, et même certains qui sont fournis sur le net, hélas sans succès. C'est pourquoi je me retourne vers vous dans l'espoir de croiser le chemin de quelqu'un qui saurait me mettre sur la voie, et pourquoi pas me donner le code source me permettant de créer l'incrémentation de ces n°.
Par avance, laissez moi vous remercier pour votre coup de pouce et par la même occasion vous souhaiter une bonne journée.
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 11:35
Bonjour,
Pour la catégorie VBA il faut poster ici : Thèmes / Visual Basic 6 / Langages dérivés / VBA Ne postes pas une 2ème fois un admin bienveillant déplacera ton post..
Sinon pour ton problème une variable public ferait l'affaire que tu enregistres dans un fichier *.txt que tu relis au début de ton programme..Sinon si tu as une base de données rajoute un champ avec un numéro de facture(numéro auto)..
Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007 24 sept. 2007 à 11:51
Bonjour lolokun, merci pour cette rapide intervention, mais pourrais tu m'expliquer ce qu'est "une variable publique"? Je crains de ne pas bien comprnedre, je suis vraiment novice, c'est pas une plaisanterie, de plus, si je considère Excel comme base de donnée, alors oui, j'en ai une, mais dans quel champ dois ajouter mon numéro de facture automatique, et où vais je trouver l'info? Merci lolokun de m'accorder encore un peu de ton temps........Alex.
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 24 sept. 2007 à 13:42
Alex67600> Une variable publiques est une variable déclarée comme ceci :
Public maVariable As String
Public maVariable As Long
Public maVariable As ...
Elle peut alors être "visible" depuis n'importe quelle feuille de ton application.
Concernant ton problème, tu peux par exemple placer un nombre dans un fichier texte accolé à ton document Excel. Ce fichier contiendrait le numéro du dernier incrément.
A l'ouverture de ton classeur, tu vas lire ce fichier. Tu places la valeur trouvée dans une variable (Publique ou non), tu l'incrémentes de 1, et tu la réécris dans le fichier texte pour la prochaine fois.
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007 24 sept. 2007 à 14:22
Merci beaucoup econs pour ta réponse, mais je ne saisie toujours pas où je dois écrire la variable publique, est ce dans un nouveau dossier VBA? Aurais tu aussi la gentillesse de m'expliquer ce que tu entends par "texte accolé"? Est ce que cela voudrais dire que je peux utiliser le "bloc note" saisir un numéro, l'enregistrer dans sous mon fichier Excel, et qu'à chaque fois que j'ouvre un nouveau formulaire, je devrais manuellement modifier le chiffre? merci de ta réponse econs, Alex.
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 24 sept. 2007 à 14:53
Tu déclares une variable.Il te suffit d'ouvrir un fichier txt dans lequel tu auras sauvegardé la valeur de ta variable que tu viendras lire au prochaine démarrage de ton programme et que tu incrémenteras à chaque ouverture de formulaire. Puis tu sauvegarderas cette nouvelle valeur en quittant ton programme.
Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007 24 sept. 2007 à 16:33
Merci encore une fois à toi lolokun, mais je pense en effet que je ne dois vraiment pas être doué, car ma variable dans mon fichier texte, elle devrait ressembler à quoi, je veux dire, dois je la mettre sous les %""% comme dans dos, ou entre d'autres balises, et surtout comment dois je la formuler, autant de questions ausquels je ne sais pas répondre hélas, encore un petit coup de main? Alex.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 24 sept. 2007 à 23:52
Peut-être pourrais-tu écrire le chiffre en question dans une cellule d'une des feuilles du classeur ?
Donc, à l'ouverture (Workbook_Open), tu lis ce chiffre et tu l'incrémentes au besoin
Range("A1") = Range("A1") + 1 '<< la cellule A1 vient de s'incrémenter de 1
Ça me semble, pour l'instant, plus simple que d'utiliser les fichiers. Tu as beaucoup à apprendre, à ce que je peux voir ...
Je pense que tu devrais prendre le temps de lire le forum VBA, ici même, ainsi que l'aide qui vient avec Excel et faire des tests en utilisant l'enregistreur de macro inclus dans Excel, .... et éventuellement te procurer un bouquin pour débutant...
Fais des recherches sur ce site et télécharge des exemples que les gens y placent. Étudie-les lentement, lis les commentaires dans le code de ces fichiers,...
Je te donnerais bien un bout de code, mais ça ne me semble pas être une bonne idée pour t'aider. Tu n'y comprendrais peut-être rien et tu ne ferais qu'un copier/coller... C'est du moins ce que j'en pense (?)
Alex67600
Messages postés5Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention25 septembre 2007 25 sept. 2007 à 08:24
Bonjour MPi, d'abord pardon pour ce retard dans la réponse et un très grand merci pour ton sens de l'observation et tes conseils que je trouve judicieux et surtout qui n'ont rien de péjoratif, rien que pour cela un grand merci à toi encore. Tu as en effet compris que j'étais vraiment novice dans le domaine de création de script, je crois d'ailleurs que je ne l'avais pas caché, et bien sur tu as encore une fois raison quand tu ecris que je ne ferai qu'un copier coller de ton code, cela m'aurais permis tout au moins de démarrer ma session Devis, mais je ne t'en veux pas du tout, car comme je te l'ai écris plus haut, j'ai énormement apprécié ton analyse. Je n'ai malheureusement pas toujours le temps d'apprendre de la création de codes, surtout en plus que je sais parfaitement que cela est dur et très long à faire, je voulais tout simplement avancé un peu dans la création de mon Devis et Facturation, les trames des formulaires étant elles déja créées. J'ai en effet déja créé une cellule où je souhaiterait que l'incrémentation se fasse, je vais donc essayé de créé dans le VBA, dans Workbook_Open les infos que tu m'as donné, puis je verrais bien pour la suite. Je te souhaite de tout coeur une bonne journée à toi, et espère à nouveau croisé un jour ta route, avec cette fois ci un peu plus de connaissance. Alex