|
Salut nathibouille
1) le tableau
Un tableur fait ça effectivement très bien et très simplement. J'ai jeté un oeil à ton classeur et aux macro.
Je ne sais pas si tu fais de la programmation, des bases de données ou juste un peu d'Excel, donc juste un point très rapide sur le vocabulaire.
On va dire qu'une ligne = une dinde
une colonne = une propriété de la dinde
Dans ton tableau, il manque des propriétés pour être exhaustif: propriétaire, stade, capacités spéciales... Mais cela relève de ton choix, et il n'y a rien à redire si pour ton utilisation tu ne trouves pas ces données pertinentes.
Néanmoins, il en manque une essentielle dont tu vas avoir besoin et dont tu peux difficilement te passer: la VARIETE (couleur, race, émeraude, amande, indigo, prune-ébène, etc...)
D'accord, tu les as mises en "ligne" et c'est joliment mis en couleur, mais il est nécessaire que cette propriété soit une colonne au même titre que NOM, PURETE, SEXE, etc.
Je ne vais pas faire une démonstration de modélisation de données, mais ça me paraît incontournable.
Déjà, rien qu'avec ça et une bonne utilisation de multiples filtres/tris, tu as un outil performant pour la gestion de ton élevage.
Salut ^^ Deja je te remercie énormément pour ta réponse qui a du te prendre du temps, donc merci d'avoir pris du temps pour moi XD
Ensuite, j'ai bien la tout ce que tu as écrit, donc voila ce que je peux en dire ^^'
Pour mon tableau de base, j'ai retrouvé le site ou j'avais vu le tutoriel, c'est sur dragodindon, donc j'avais juste repris leurs caractéristiques afin de commencer par la base pour le personnaliser a mon gout plus tard. Pour la colonne avec la race je pense voir ou tu veux en venir: est ce que pour la macro ca permettrait de dire quelque chose comme 'tout ce qui a "amande" dans la colonne B s'affiche, le reste non'?
2) un peu de VBA et de programmation
MAis ce serait plus marrant de s'amuser avec un peu de VBA, pas vrai ?
Tu souhaites trouver une / des dinde(s) pour y appliquer un traitement, une instruction. Et admettons que tu veuilles les dindes amandes, et uniquement les dindes amandes.
On va donc opérer à un test sur la couleur. Et comme ce test va se faire autant de fois que nécessaire on va répéter ce test: on va donc utiliser une boucle.
On va considérer que la variété se trouve en colonne 2 comme sur le tableau ci-dessus.
function trouverLigneAmande as integer
dim ligne, colonne, nombreTotalDeDinde, ligneTrouvée as integer
colonne=2
for ligne = 1 to nombreTotalDeDindeif Cells(ligne, colonne) = "amande" Then ligneTrouvée = ligne
end if end for
trouverLigneAmande = ligneTrouvée
end function
Cette fonction te retourne la ligne de ta dernière amande de ton tableau. Mais tu peux insérer un traitement à chaque amande trouvée: par exemple un l'affichage du nom de la dinde dans une boîte de dialogue.
for ligne = 1 to nombreTotalDeDindeif Cells(ligne, colonne) = "amande" Then ligneTrouvée = ligne
MsgBox cells(ligne, colonne-1)
end if end for
Pour cette partie la, je pense voir ou tu veux en venir, mais je ne connais pas les 'function' sur vba, je n'ai eu que quelques cours, mais j'aime beaucoup excel et les possibilités de personnalisation ^^' Il faut l'utiliser comment?
3) Mieux!!
Comme tu l'as compris, avec ce type de fonction on trouve facilement une dinde amande, et il suffit de remplacer "amande" ci-dessus par la couleur voulue pour trouver et pouvoir désigner la/les variétés souhaitées.
Et on peut ainsi faire tous les tests nécessaires sur n'importe quelle propriété, n'importe quelle colonne: par exemple:
if cells(ligne, 3) = "mâle"
Et ça, ça marche quel que soit l'ordre de tes dindes amandes, de tes dindes rousses, si tu en enlèves 3, si tu en rajoutes 50 ou si tu les mélanges
4) Encore Mieux!!
Tu as déjà fort à faire avec les boucles for, do while, et do until
avec les expressions conditionnelles if, select case
et en déclarant au minimum deux variables entières correspondant à une ligne et à une colonne
Cela te permet de jongler facilement avec des cellules dont tu ne connais que le contenu; mais pas l'emplacement à priori.
Mais si tu veux aller plus loin dans la programmation de macro en VBA - d'ailleurs quels sont tes objectifs en te lançant dans la réalisation de ton carnet d'élévage ?- tu devrais pouvoir lorgner, dans un premier temps, sur le typage, la déclaration de type, la création de type par l'utilisateur.
C'est fait pour être intuitif et simplifier ton travail: d'ailleurs en programmation on n'améliore son niveau que pour une chose: se simplifier le travail
Option explicit
Type Dindenom as string couleur as string sexe as string amour as integer endurance as integer fécondation as integer End Type
Ca permet d'écrire des choses simples et lisibles comme:
maDinde.couleur = "prune"
Tout est dans la mémoire de l'ordi et on se fiche royalement des lignes et des colonnes
au lieu de:
workbook("monClasseur").worksheet("maFeuille").cells (ligne,colonne) = "prune"
où il faut constamment avoir l'oeil sur les variables lignes et colonnes -sources d'erreurs fréquentes et monumentales et difficilement détectables!!
La ca commence a etre compliqué, je ne suis pas sure de voir ou tu veux en venir avec ca :/
5) Objectifs
Paradoxalement, je conclue par ce que d'autres auraient mis en introduction: les objectifs et les fonctionnalités visées de ton carnet d'élevage:
- qu'est-ce que tu veux qu'il fasse
- est-ce que tu peux faire une "maquette" de ce que tu veux obtenir: une sorte de screen à un instant donné quand tu fais appel à telle ou telle fonctionnalité. Par exemple une maquette d'une site web, c'est l'image du site, mais aucun bouton n'est actif et encore moins fonctionnel.
- le niveau souhaité en VBA, celui que tu vises obtenir: transposer mes cours Excel à mon élevage, avoir un tableur fonctionnel pour mon élevage, connaissances en macro excel, connaissances en programmation VBA, connaissances en programmation informatique, c'est ma nouvelle passion à la folie, pas du tout je souhaite y passer le moins de temps possible.
Je dis ça parce-que je n'ai pas saisi l' "esprit" de ton tableur. En effet, il n'y aucune dinde de renseignée. Ensuite, la seule macro copiée/collée sert à cacher/montrer une plage de couleur. Ce qui a peu d'intérêt pour l'élevage.
Je me propose de t'accompagner dans ta démarche, mais pas de le faire à ta place. En te guidant sur des notions VBA, et/ou en te proposant des choix de programmation.
Perso, je me suis occupé d'un projet informatique de programmation VBA pour l'INRA (recherche scientifique sur l'écologie des lacs) cet été, et je dois justement faire un peu de maintenance cette semaine pour corriger et améliorer qq trucs.
Donc du VBA, j'en ai bouffé, et j'y retourne 
Pour ce qui est de mes objectifs, pour mon tableau je veux rester sur quelque chose de simple et fonctionnel, mais pour moi la présentation est très importante, et c'est pourquoi je voulais essayer d'automatiser ces boutons pour afficher masquer une race de dinde. Ca tableau reste pour moi juste une fiche pour avoir un aperçu global de mon élevage et d'ou il en est, pour ne pas avoir à parcourir ma liste sur dofus à chaque fois. Alors entre mes faibles connaissances en vba et mes objectifs, je pense que je vais rester sur du simple, et juste supprimer mes boutons qui me font vraiment ch*er la  Mais je vais continuer à explorer vba pour faire peut etre plus tard une fonction de recherche dans mon tableau ou toute autre chose possible ^^
Par contre, ça va dépasser le cadre de ce fil de discussion, de ce topic, de ce thread. Aussi, soit mes pistes ci-dessus se suffisent à elles-mêmes, soit on continue sur un forum dédié programmation et/ou VBA et/ou Excel. Ou ici même si les modo sont d'acc, mais j'en doute.
Donc soit MP soit:
http://www.excel-downloads.com/
http://www.siteduzero.com/
http://www.commentcamarche.net/
http://www.developpez.com/
Y'a peut-être des sections JOL dédiées à ça, mais je ne pense pas.
Si tu postes sur un de ces sites ou un autre et que tu n'as pas de réponse, MP moi l'adresse du sujet que tu auras lancé. Sinon il est clair que j'aurais pas connaissance de ta question.
Voili voilo, amuse toi bien
En effet, je ne pense pas que ce sujet rentre dans le fil de discussion lol Merci pour les site, j'irais voir, ca peut pas faire de mal  En tout cas, je te remercie vraiment d'avoir pris le temps de me répondre, ca m'a éclairé sur une chose: je suis encore plus nulle en vba que mon prof me l'a si bien répété XD
[Je te met en lien mon tableau mis à jour, remis dans son ancienne version et cette fois ci rempli de dindes: http://www.megaupload.com/?d=BEVX5VQO]
|