Courbe codification VBA
Slt à tout le forum,
Je souhaiterais obtenir une courbe via une codification vba. J'ai une petite idée de la manière dont cela pourrait être réalisé avec un fichier explicatif joint.
Merci pour votre aide.
Bon dimanche à vous.
Bonjour,
Bravo pour les efforts d'explications. Si tous les demandeurs pouvaient en prendre exemple
D'habitude je zappe les demandes où l'on pense pouvoir contrôler le hasard, je fais une exception pour cette raison
Ta demande est simple (bonnes explications) mais demande un peu de travail et de modifs.
Je préfère tout reconstruire à chaque ajout/modif :
1) tu as peut-être un existant qui nécessiterait une saisie des valeurs une par une si traitement au fil de l'eau (je n'ai pas envie de faire 2 programmes)
2) surtout il est impossible de savoir à l'avance où positionner la courbe qui peut se trouver pas assez basse pour afficher les dernières valeurs
Donc dès que tu modifies ou ajoutes une valeur en ligne 1 tout est reconstruit et repositionné en hauteur si besoin.
C'est rapide, tu ne verras pas la différence avec ta proposition.
Je n'ai pas compris pourquoi tu décalais X et donc la courbe d'une cellule à gauche. Pour ne pas me prendre la tête elle reste alignée avec les valeurs.
Petite différence avec ton exemple, tu avais 2 erreurs de concordance
Vois si ça te va
eric
Merc Eric pour ta réponse.
Quelques explications supplémentaires en réponse :
- "Bravo pour les efforts d'explications. Si tous les demandeurs pouvaient en prendre exemple"
Merci pour le compliment. Maîtriser le vba est déjà une compétence. Aider les autres en mettant ses compétences au service des autres, c’est une qualité ou une valeur qui devient exceptionnelle.
Prendre le temps de proposer un « cahier des charges » qui tienne la route, malgré quelques erreurs inévitables, c’est pour moi une forme de respect de celui qui va prendre le temps de lire déjà, et apporter une solution, peut-être.
Cet explicatif m’a pris plus d’un mois à établir, lire, relire modifier tout le temps pour essayer d’être le plus clair pour mon lecteur pour essayer d’atteindre un objectif.
- "D'habitude je zappe les demandes où l'on pense pouvoir contrôler le hasard, je fais une exception pour cette raison"
Je ne cherche pas à contrôler un jeu de hasard qui par définition est incontrôlable, je cherche à comprendre des tendances et à intervenir de la manière la plus opportune et efficace à l’occasion.
- "Donc dès que tu modifies ou ajoutes une valeur en ligne 1 tout est reconstruit et repositionné en hauteur si besoin"
C’est cela. J’avais établi une procédure sur ce point mais n’ai pas voulu alourdir les explications. Il faudrait effectivement rajouter de manière systématique une ligne supplémentaire en haut de la courbe pour chaque « O » ajouté à la courbe et deux lignes supplémentaires pour chaque « OO » afin de conserver cette dernière en milieu d’écran, mais je laisse toute latitude pour ce problème de forme.
- "…tu avais 2 erreurs de concordance"
Merci de me dire lesquelles car à force d’avoir la tête dedans, on y voit plus rien, lol.
J’ai hâte de voir ce que cela va donner.
A bientôt.
Bonjour,
"Donc dès que tu modifies ou ajoutes une valeur en ligne 1 tout est reconstruit et repositionné en hauteur si besoin"
C’est cela.
ce n'était pas une question mais une affirmation. Le choix de fonctionnement que j'ai fait
J’ai hâte de voir ce que cela va donner.
et moi j'ai hâte que tu testes le fichier que j'avais joint
eric
Oupssssssssssss,
Avais pas vu le fichier joint
Du coup, j'ai testé avec une suite de plus de 1600 événements et... c'est du... Top
Même plus besoin de la Box car avec ta codification, une fois l'exécution macro effectuée, il suffit d'entrer un nouvel événement à la suite, en ligne 1, pour que la double incrémentation se fasse automatiquement en ligne 2 (codification) et à la suite de la courbe.
Peut-être, pour la forme, ajouter une commande qui permette "d'ajuster" les colonnes à chaque manip., en fin d'exécution de la macro sur la ligne 1 d'abord et lors des saisies d'événements ensuite car les cellules restent ensuite à leur largeur initialement programmée à 10,78 obligeant à sélectionner la première et la dernière colonne de la suite d'événements collée en ligne 1 pour que les colonnes soient réduites à leur minimum de largeur pour une meilleure lecture de la courbe.
Ou bien, donner comme consigne initiale que toutes les colonnes (à l'infini) aient une largeur de 2,89 correspondant à la largeur maximale nécessaire pour accueillir en toute lisibilité les codifications les plus longues que sont "OO" et "NN".
Autrement, ce n'est pas deux mais 4 erreurs (en terme de report de codification en ligne 2) que j'ai relevé sur la ligne que j'ai proposé en exemple. Comme quoi même avec la meilleure volonté, le traitement automatique informatique supplante de loin les capacités humaines dont les limites sont connues.
Tes explications "en vert" dans la codification me sont précieuses.
Un grand merci à toi pour ton investissement et tes compétences. Ce fût du rapide et du précis. Bravo.
Du coup, je ne peux m'empêcher de demander s'il était possible d'envisager une dernière incrémentation à ajouter à ta codification actuelle (je n'étais pas sûr d'en arriver là et aussi vite déjà...). Si cela est possible et pas trop compliqué...
Mes brèves explications en fichier joint.
A bientôt, j'espère...
Bonsoir,
Pas besoin de macro pour la largeur des colonnes.
Il suffit de sélectionner toute la feuille et fixer la largeur des colonnes pour qu'elle reste.
J'ai mis 2.71 pour que -99 s'affiche. Les plus grands nombres afficheront ## (largeur colonne insuffisante).
Elargir si besoin
incrémentation supplémentaire :
J'ai utilisé le 1er fichier car celui fourni avait toutes ses valeurs sous le 0...
Ca faisait un peu caca sur la courbe, j'ai mis les nombres en couleur pour améliorer la lisibilité.
J'ai aussi mis la ligne du 0 en jaune pâle, y lire des 1 était piégeux je trouve.
eric
PS :
comme tu ne peux pas avoir 2 valeurs côte à côte j'aurai écris la hauteur à droite de la valeur.
Ca permet une lecture plus naturelle je trouve.
Voilà ce que ça donne :
Du Top...
Just Perfect...
Un immense merci à toi