|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 84 ![]() |
Bonjour,
J'ai un tableau qui contient plusieurs informations. Quatres colonnes m'intéressent particulièrement: Nom, Secteur, Quantité, Trimestre. Ce tableau est sur une Feuil x, je veux prendre les informations et les mettres sur une feuille y qui n'est pas faites celon le même modèle. Le petit plus, le Nom est un tableau. Cela me permet d'avoir une liste modifiable a souhait sur une feuille z et mon programme s'adaptera. Voila la logique que j'ai utilisée pour mon programme: Je crée mon tableau avec les données de la feuille z (je suis obligé d'avoir cette liste car elle me sert dans un autre programme). Je vais sur la feuille x et je regarde quelle est la dernière ligne occupée (j'ai utilisé un compteur car il n'y a pas de cases vides entre deux). Si je suis dans le trimestre1 et Si mon secteur est .... et Si mon nom est (utilisation de la liste) alors je copie la quantité dans une variable Sinon si mon secteur est .... et Si mon nom est ..... Bref voila un peut la logique(?) lol Voila le programme incomplet: Code :
J'imagine que c'est a cause de CdtValeur(j) et EstValeur(j). Le problème c'est que si ma liste venait à contenir 100 noms, je vais pas m'amuser à écrire 100 variables moi même... CdtValeur1 => CdtValeur100.... ![]() Le programme n'est pas complet. ensuite je mets ma liste dans ma feuille y et je place les quantités qui seront dans mes différentes variables (CdtValeur1...) à l'endroit approprié. Mais si écrire CdtValeur(j) (avec j de 1 a 100, ne fonctionne pas, je suis un peu dans la M.... )
|
||
|
|
00
|
|
|
#2 | |||
|
Membre Expert
![]() Inscription : juillet 2007 Messages : 2 134 ![]() |
Salut BOU59000 et le forum
Citation:
Ton code, juste regardé Code :
tu testes la valeur de C et si elle est égale à "estérification" tu l'additionnes à EstValeur ???? M'est avis qu'il y a un p'tit problème Mais comme je ne connais pas réellement le but de la macro... Les identations sont là pour aider à s'y retrouver, dans les boucles, les tests, pas pour faire beau!!! Te manque des End If dans ton code initial. Des questions comme ça : - pourquoi tester 100 noms, puisqu'on teste le dernier ? Autant s'arrêter au dernier inscrit. - Il y a moins de 100 lignes en K (ou moins que de noms) ? Sinon, il serait plus rapide d'inverser les deux boucles. Construire un algo au fur et à mesure est loin d'être la solution la meilleure et/ou la plus rapide. Même si ça semble neuneu de l'écrire, il vaut mieux passer pour un clown en l'écrivant et savoir ce qu'on va coder que perdre du temps à dépanner et tout refaire. Mais c'est l'avis d'un clown. A+ |
|||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mai 2008 Messages : 84 ![]() |
Bonjour,
Désolé pour le temps de réponse j'ai été un peu occupé. Tout d'abord merci pour ta réponse. Oui pour les identations je commence à m'en servir car j'avais plusieurs autres programmes qui clochaient à cause du manque de balise de fin ou autre... Oui j'imagine que contruire l'algo au fur et à mesure n'est pas la solution la plus efficace et qu'il vaut mieux avoir une vision d'ensemble avant de commencer. Mais cette vision d'ensemble ne vient elle pas avec l'expérience, la pratique? J'en suis encore au stade ou je réfléchis aux balises, codes.. que je vais utiliser pour telle ou telle action.. et me rendre compte en cours de programme qui finalement je n'aurai pas du utiliser telle ou telle chose. Je me laisse du temps et un long fleuve de programmes Bref! lol en tout cas encore grand merci pour ta réponse
|
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : juillet 2008 Messages : 1 889 ![]() |
Citation:
Je dirais que non elle doit venir de la réflexion, la pratique rendra juste la chose plus facile. Tu doit commencer par réfléchir a ce que tu veux faire, les cas particulier que tu vas rencontrer, etc. Ensuite tu prend un papier et tu écrit les différentes étape les teste que tu va réaliser, etc (en francais ou pseudo francais, on appelle souvent ca le pseudo code) Une fois que tu as ton algorithme la seulement tu codes. Du coup tu découple complètement les problèmes, d'un coté tu pense au principe de fonctionnement pas de problème de langage de balise de fonction utilisé c'est juste de la réflexion logique (de l'algorithmique) Et ensuite seulement tu as besoin de réfléchir au problème du langage comme écrir tel boucle tel instruction,... La moitié des problème sur ce forum vienne du fait que la personne n'a pas pris le temps de réfléchir correctement a son programme et a décidé de codé tout de suite du coup il cumule des problème de codage et des problème dans la méthode de fonctionnement. L'expérience permet de sauter la première étape et de directement écrire en VBA puisque tu fini par l'utiliser aussi bien que le francais Bon c'était ma petite morale de fin de semaine désolé pour le hors sujet J'éspère quand même que ca te sera profitable a toi ou quelqu'un d'autre
__________________
« Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir » |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : juillet 2007 Messages : 2 134 ![]() |
Salut à tous
Farpaitement d'accord avec Krovax Il ne sert à rien de coder si tu ne sais pas ce que tu veux faire. Même en faisant un algorythme aussi complet que possible, il arrive qu'on oublie des détails et que la macro ne fasse pas ce que l'on veut.. Construire ton algorythme sur le code que tu tapes t'expose à tout refaire parce que ça ne peut pas fonctionner. Un algo n'est pas quelque chose de compliqué : c'est comment atteindre ton but en utilisant les données à ta disposition. Ça te permet de coder, mais aussi de tester : tu ne testes jamais sur l'ensemble des données. Mais comment trouver les quelques valeurs importantes à tester si tu ne sais pas ce que tu veux faire ? A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com