recopiage automatique de contenu de cellules selon un plan d'essai

vivi76

XLDnaute Nouveau
Tous d’abord bonsoir à tous, et merci d’avance pour ce qui vont se casser la tête sur ce problème.


Tous d’abord il est indispensable que j’explique le but de ma requête pour faciliter la compréhension de se que je souhaite obtenir. Donc en fait je travail dans une entreprise d’expérimentation agricole, c'est-à-dire que je suis dans les champs à tester différentes variétés de blés ou de produits chimiques grâce à la mise en place d’essais expérimentaux. Les essais expérimentaux en agriculture correspond en fait à un grand champ divisé en de nombreuses micro parcelles ou chaque modalité (variétés ou produits chimiques) est étudiés (voir deuxième feuille du fichier Excel joint).
Par conséquent un champ d’essai est composé de plusieurs micro parcelles définies par un nom d’essai et un numéro de réplication (correspond à : ri ; rii , riii ; riv sur le plan de l’essai).
Un des travails à réaliser est de moissonner (récolter le grain) les micro parcelles et de garder des échantillons de chacune des micro parcelles dans des sachets. Pour cela on utilise des sachets ou le numéro de modalité et réplication est inscrit dessus, ainsi que le nom de l’essai.


Ce que je souhaiterais, c’est de créer un programme qui me permettrais de concevoir des étiquettes identifiant chaque micro parcelle par leur numéro de modalité et réplication et le nom de l’essai auxquelles elles appartiennent, tous ceci en tenant compte de l’ordre des micro parcelles tel quelles sont sur le plan d’essai (sur excel). Il faut savoir que cet ordre de récolte est particulier, il se déroule en allant de haut en bas (voir Excel Feuil "shéma simplifié essai"). Il faut aussi tenir compte que toutes micro-parcelles ne sont pas récoltées, seulement celles qui sont remplis en jaune (voir fichier Excel).


Donc pour résumer :
- élaboration d’étiquettes qui intégrent n° modalité + réplication et le nom de l’essai
- les étiquettes devront être éditées selon l’ordre de récolte des micro parcelles
- uniquement créer des étiquettes pour les cellules remplies de jaune
- toutes les microparcelles n’ont pas systématiquement la mêmes dimension sur Excel (varie selon le nom de l’essai)



J’ai déjà un début d’idée :
- lors de la création du dessin de l’essai sur la feuille vierge d’Excel il faudrait définir pour chaque cellule (chaque micro parcelle) à quelle numéro de répétitions et nom d’essai elle doit se reporter. Sur une feuille Excel à part le contenu de ces cellules serait recopié automatiquement (= ´dessin champ d’essais´ !E51) en A1 avec en A2 et A3 le numéro de réplication et le nom de l’essai auxquelles ces cellules ont été référées auparavant.
- concernant l’ordre de l’élaboration des étiquettes il suffirait sur la feuille Excel à part que le recopiage automatique soit établi selon le bon ordre (va et vient de haut en bas)
- en ce qui concerne la couleur (jaune=création de l’étiquette ; blanc=ne pas tenir compte de cette microparcelle) il suffirait d’utiliser une fonction ou une macro contraire à la mise en forme conditionnelle


Voila je crois que j’ai posé toutes mes requêtes. Bien évidemment je n’exige pas que l’on me ponde le fichier tous fait, juste que l’on me donne des conseil sur la manière de faire et quelles formules - macros choisir – créer. Juste que je n’ai que de très faibles notions en macro.
En tout cas merci d’avance pour ce qui vont se casser la tête sur ce problème.


Si joint fichier Excel 2003:
. feuil1 : shéma simplifié d’un essai
. feuil2 : shéma d’un champ regroupant plusieurs essais
. feuil3 : exemple de ce que j’aimerais obtenir
 

Pièces jointes

  • dessin champ d'essais1.xls
    48 KB · Affichages: 88

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Bonjour Vivi76,
Je vais me permettre de soumettre une autre idée.
Chaque micro parcelle ne doit occuper qu'une cellule (pas trois ou plus). Simplifier le shéma. Je l'ai fait. Je l'ai aussi rendu plus synoptique grâce aux couleurs d'entourrage des cellules.

J'ai plusieurs questions cepandant :
Si répétition signifie réplication, il y a une erreur sur ta feuille de résultats souhaités pour le 6 de la ligne 29, je verrai plutôt 3. (ou alors je n'ai rien compris, ce qui est possible). J'ai poursuivi avec le 4, pareil...
Si je suppose que Sud signifie en bas, rien n'indique les limites de cette zône. Y a-t-il des zônes Nord, Est, Ouest ?
Si je (ou autre) propose une macro de récolte, selon les critères indiqués, elle ne sera valable que pour l'essai BASF WINNER HERB, il en faudra d'autres pour les autres essais. Il faudrait que tu nous le précise.

J'ai une idée de macro de récolte, qui poserait des questions à l'utilisateur du genre Départ et sens... qui se baserait sur les couleurs des cellules, (blanc, jaune, gris) et les noms des replications.

Je risque de coincer aussi, ton problème est intéressant, mais dûr à finaliser.
A plus,
Gruick
 

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Gruick à dit:
Bonjour Vivi76,
Je vais me permettre de soumettre une autre idée.
Chaque micro parcelle ne doit occuper qu'une cellule (pas trois ou plus). Simplifier le shéma. Je l'ai fait. Je l'ai aussi rendu plus synoptique grâce aux couleurs d'entourrage des cellules.

J'ai plusieurs questions cepandant :
Si répétition signifie réplication, il y a une erreur sur ta feuille de résultats souhaités pour le 6 de la ligne 29, je verrai plutôt 3. (ou alors je n'ai rien compris, ce qui est possible). J'ai poursuivi avec le 4, pareil...
Si je suppose que Sud signifie en bas, rien n'indique les limites de cette zône. Y a-t-il des zônes Nord, Est, Ouest ?
Si je (ou autre) propose une macro de récolte, selon les critères indiqués, elle ne sera valable que pour l'essai BASF WINNER HERB, il en faudra d'autres pour les autres essais. Il faudrait que tu nous le précise.

J'ai une idée de macro de récolte, qui poserait des questions à l'utilisateur du genre Départ et sens... qui se baserait sur les couleurs des cellules, (blanc, jaune, gris) et les noms des replications.

Je risque de coincer aussi, ton problème est intéressant, mais dûr à finaliser.
A plus,
Gruick

Salut Gruick,

Merci d'avoir consacre du temps a ce probleme.

- En ce qui concerne le simplification du shema je ne sais pas trop si c'est faisable car en fait il peut y avoir plusieurs longueurs de micro-parcelles dans un meme champ d'essai (6 et 12 metres). je vais regarder aussi de mon cote si on ne peut pas le simplifier sans pour autant penaliser le fait de3 creer a la fois de micro-parcelles de 6 et 12 metres sur la meme feuille.
- sinon oui replication = repetition, c'est juste que j'ai utilise le terme anglais et il est tres fort possible qu'il y est une erreur dans mon tableau souhaite (je n'ai pas veerifier).
- quant au terme "sud", il ne faut pas en tenir compte, c'est juste le nom du champ d'essai qui se prenome comme ca car il se situe au sud de l'ecosse.
- concernant le depart de la recolte et le sens de recolte, il ne change jamais, le depart se situe toujours en bas a gauche de la feuille pour terminer a droite de la feuille et donc le sens est toujours de haut en bas selon un va et vient (comme c'est indique sur le plan simplifie)
- enfin en ce qui concerne la macro recolte il existe plusieurs noms d'essais dans un meme champ d'essaia (dans une meme parcelle). Donc comme tu peut le voir sur le feuille dessin essai le premier essai est BASF WINNER HERB puis au bout de 5 micro-parcelles recolte on passe a l'essai NL (si je me souvient bien de mon plan). Dom=nc pour chaque micro-parcelle il faudrait qu'elle est pour reference le nom de l'essai auquel elle fait reference mais aussi au numero de repetition.
- pour les couleur jaune et blanc, jaune signifie que l'on doit recolter la percelle donc que l'on doit realiser un echantillon par consequent creer une etiquette. Blanc veut dire pas besoin de recolter donc pas besoin de creer d'etiquette.

voila j'espere bien avoir repondu a tes questions, si tu en a d'autres n'hesite pas a les poser. De mon cote je vais essayer aussi de trouver une astuce pour realiser ce programme.


A+, vivi76
 

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

re vivi76, (76 est-ce ton département, ton année de naissance, ton âge ???)
toute ma famille venant du Hâvre

Dommage, j'avais concocté une macro qui moissonnait de bas en haut, mais aussi de Gauche à droite, et inversement, considérant que chaque essai avait sa forme propre, donc sa moisson propre. Je n'avais pas réalisé que tout était moissonné en même temps !

En ce qui concerne les parcelles de 12 mêtres, pas de problème, il suffit de fusionner les cellules.

L'astuce est de nommer les essais
BASF WINNER HERB 1
BASF WINNER HERB 2
BASF WINNER HERB 3,
car je doûte qu'on puisse traîter autrement ce cas.
Je me permets de t'envoyer le fichier avec quelques annotations et corrections pour le résultat désiré selon l'exemple BASF.
A toi, je simplifierai ma macro de mon côté, mais demain, selon tes réponses.
Gruick
 

Pièces jointes

  • Récoltes.xls
    43.5 KB · Affichages: 76
  • Récoltes.xls
    43.5 KB · Affichages: 76
  • Récoltes.xls
    43.5 KB · Affichages: 76
Dernière édition:

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

resalut gruick,

Et oui 76 c'est mon département, mais pour ma part je suis plus du coté de Rouen.

Sinon concernant le fichier, le début de la récolte commence toujours a la toute première microparcelle au coin inférieur gauche, meme si cette microparcelle est en grisé. Il s'agit d'une microparcelle de garde c'est a dire qui sert de tampon pour éviter toutes influences externes sur les microparcelles des essais (plus particulièrement les microparcelles bordant cette ligne de garde.

Ces microparcelles de gardes peuvent varier de 2 à 3 lignes (le fait qu'il n'y en est que une sur le shéma était juste pour simplifier celui ci)

Quant au fait de fusionner les cellules lorsqu'il s'agit de microparcelles de 12 mètres il faut que je regarde si ca peut se réaliser sans trop perdre de temps a chaque fois car en fait le dessin du champ d'essais inclu dans le fichier ne représente que 1/3 du nombre d'essais présent dans cette parcelle. Et en tout il y a une 20taines de champs d'essais comme celui ci. C'est pour cela qui si ca prend trop de temps a fusionner les cellules durant le crétion du dessin de l'essai ce n'est plus intérressant de créer ce programme.

Et enfin il s'avère impossible de garder le meme nom pour chaque essai car il s'agit de différents type d'essai (essai herbicide, essai insecticide, essai variété) et pour différentes entreprises (BAYER, SYNGENTA, BASF). Par Conséquent lorsque l'on envoit les échantillons récoltés aux entreprises demandeurs de l'essai il faut que sur les sachets soit écrit le nom de l'essai auquel ca correpond (en plus du n° de microparcelle et répétition).

Je reconnais que toutes ces conditions rend la création de ce programme plus que complexe. Mais je suis sûre qu'il y a un moyen.
En fait si je pouvais trouver une manip pour que lorsque tu tapes le numéro de microparcelle (lors de la création du dessin du champ d'essais) tu puisses définir à quelle répétitions et essai cette micro parcelle appartient par des clics de souris

lorsque tu tapes le numéro de micro parcelle, il faudrait un genre de fonction ou macro qui fait que qu'en tu cliques sur la cellule ou est inscrit la répétition correspondante a cette micro parcelle sa enregistre automatiquement (de meme pour définir le nom de l'essai).


Ensuite pour savoir si il faut variement créer l'étiquette tu questionnes sur la mise en forme de la cellule : si l'arrière plan est jaune, c'est OK Excel peut lancer la procédure de création de la ligne d'étiquette correspondant à cette cellule.

Enfin pour le repect de l'ordre de récolte, il suffirait que les fonction ou macro contiennent les références dans le bonne ordre.



Voila mon idée. Le problème c'est que je ne connais pas les fonctions ou macro qui me permettent de réaliser ceci. Mais je vais quand meme essayer de les cherchers sur internet


A+, vivi76
 

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

désolé j'ai oublié de te joindre le fichier expliquant ou commence le début de la récolte
 

Pièces jointes

  • Récoltes.xls
    31 KB · Affichages: 65
  • Récoltes.xls
    31 KB · Affichages: 61
  • Récoltes.xls
    31 KB · Affichages: 65

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Bonjour Vivi76,
Je te livre mon travail, en insistant sur la préparation du terrain, soit
- bien nommer les diverses types d'essais, se terminant par le numéro de "réplication", ou par un _ s'il n'y en a pas.
- ne pas oublier de fusionner les cellules de grandes parcelles (au départ, une seule, et puis en copiant), dès l'instant où on prend du temps pour remplir le tableau, celà n'est pas plus compliqué).

La macro se base sur les bords, en rouge taille maximum, dès qu'elle heurte le haut, elle descend, et si elle se cogne en bas, elle remonte, jusqu'à ce qu'elle en trouve un autre à droite.

J'ai mis l'instruction Application.ScreenUpDating=false pour éviter l'effet dessin animé assez pénible, mais si tu veux voir ce qui se passe, il suffit de mettre une apostrophe devant, ou la supprimer.
J'espère que tu sera satisfait.
Gruick

PS : Rouen possède la plus belle cathédrale du monde, une vraie dentelle de pierre, comme St Maclou d'ailleurs.
 

Pièces jointes

  • Recoltes.xls
    38.5 KB · Affichages: 70

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Oh my god!!!

Tu ma quasiement chier tous le boulot, je ve dire par là réaliser. J'en reviens pas que t'es pu réaliser sa en une journée ou deux et que sa réponde exactement à ce que je souhaitais. Vraiement merci (ils se chargeront de le dire a ma place sur ce lien: Un million de mercis)

En ce qui concerne la macro pourrait tu me l'expliquer un peu plus en détail car je comprend pas tellement le langage VBA.

- comment as tu fait pour que chaque micro parcelle ait son numéro de répétition et son nom d'essai correpondant? Est ce du au fait de l'encadrement de chaque essai par un liseré rouge et au fait que le nom de l'essai soit en bleu, ou tous simplement tu doit définir manuellement le n° de répétition et le nom d'essai pour chaque micro parcelle. En regardant la macro je devine que ca tient compte de la lettre "i" et du numéro qui suit, mais j'en sais pas plus. Et si par exemple le numéro de répétition correpondant à une ligne de micro parcelle se situe dans une cellule au dessus des micro parcelles, que se passe t'il?

- Je ne comprend pas non plus qu'en tu dit que la macro lit jusqu'au liseré rouge puis se décale d' une colonne a droite pour lire dans le sens opposé et que dans la feuille labels toutes les étiquettes sont ordonnées selon le sens de récolte (d'un bout à l'autre du champ d'essais et non de chaque essai). Est ce la secondre macro qui réordonne tous et lit selon le grand liseré rouge qui encadre le champ d'essais?


Dans tous les cas je vais essayer d'analyser en détail ta macro (d'ailleurs va vraiment falloir que je me mettre aux macros) pour comprendre quelles sont les étapes aà respecter lors de la création d'un nouveau dessin d'un champ d'essai, afin que les 2 macros fonctionnent.


Merci encore une fois pour le temps que tu as consacré à mon pb et l'efficacité de résolution.



impossible d'échapper non plus a ce monument qui fait la renommée de la ville de Rouen : le gros horloge
 

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Resalut,

je viens de regarder dans le détail et tester ton fichier et j'aimerais savoir comment la macro tient en compte des numéro de répétitions, est ce qu'il faut définir avant à quelle numéro de répétition (donc a quelle cellule) appartient chaque micro parcelle. Car en fait lorsque je change la position des répétitions dans un essai la macro n'en tient pas compte.

Quand aux noms des essais, j'ai beau les déplacer à l'autre bout du champ d'essai, les 2 macros savent toujours à quels essais ils appartiennent (ça me sidère). Par contre quand je change leur nom les 2 macros n'en tient pas compte. Comment cela se fait il, comment ces macro fonctionnent t'elles?

pourrait tu me renseigner ?


merci d'avance
 

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Cher Normand ;)
Je suis tout rouge par ton flot de compliments. Mais je t'avoue que le sujet était à la hauteur, et bien expliqué, ce qui se fait rare.
Je te joins une deuxième version toute expliquée, plus rapide et moins contraignante.
En effet, il y avait trop de noms, et je n'avais pas vu que les parcelles étaient toujours séparées par une allée, du moins dans le sens de la moisson, aussi, le pas est de 2 et non de 1, ce qui réduit donc de moitié le temps.
Le recours à la récolte était inutile sur les cellules non jaunes, j'en ai profité pour améliorer ça.

Si tu as des problèmes, n'hésites pas.

Ton sujet m'a appris comment manipuler par macro les cellules fusionnées, donc merci à toi aussi.

Le fichier joint est zippé sous mac, donc une fois unzippé, tu rajouteras l'extension .xls à son nom, pour qu'un PC puisse le lire.

A plus, je vais sortir mon assiette en "Vieux Rouen", et manger.

Gruick
 

Pièces jointes

  • Recoltes2.zip
    21.5 KB · Affichages: 54

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Salut Gruick,


Merci pour les precisons sur la macro, j'ai regarde vite fait (car la je suis au travail), et c'est un peu plus clair. J'ai aussi tester le changement de repetition entre essai et cela fonctionne bien.

Cependant quand je change le nom de l'essai dans le plan d'essai (Feuil1) la macro n'en tient pas compte dans la Feuil2 et j'ai essayer de regarder dans tes explications comment la macro fait pour determiner a chaque micro parcelle le nom d'essai qui lui correpond et c'est vrai que sur cette patie de macro l'instruction y est tres bizarre au point que j'ai du mal a la comprendre

Comment faire pour que le fameux tableau virtuel soit mis a jour lorsque je change un nom d'essai.

Merci d'avance et vraiment desole de te poser ces questions mais les vba ca ne fait que une semaine que j'ai decouvert.


"boujou et a temps tot" comme dit le cauchois
 

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Re,
Si tu changes le nom, il faut supprimer l'ancien.
Si par ex. tu remplaces BASF par AAAA sans le supprimer, excel recherchera par ordre alphabétique, te rendra AAAA. Mais si tu remplaces par CCCC, il te retournera BASF. (je viens de tester)
C'est la première instruction qui suit With Sheets("label") qui donnera le resultat, mais c'est l'instruction bizarre qui cherche.

En ce qui concerne cette intruction "bizarre", c'est une double négation, ce qui équivaut à une affirmation, en booléen, qui n'existe pas en VBA pour cette recherche. (une lacune)

Si la non intersection entre les coordonnées d'un nom de la feuille et celle de la cellule sélectionnée n'existe pas, pour VBA signifie pour un cerveau humain si cette intersection existe.

Demandes (si possible) à ton patron une formation VBA, tu verras, c'est une drogue. Je l'ai fait jadis, et en suis sorti transformé, et j'apprends encore, by myself. En plus, si l'anglais t'es familier, c'est un plus.
Mais avant, il faut avoir l'idée dans la tête et penser à tous les cas,
analyste-programmeur finalement. Les 2 étant imbriqués, si on possède le langage, les idées viennent. (la fonction crée l'organe comme disait l'autre).

Pour ce programme, chaque cellule peut contenir 3 informations minimum, sans que ça saute aux yeux : son contenu, sa couleur, son entourrage, et dans ma macro, je me suis servi des trois.

Allez, à plus.
Gruick (un quart breton, comme tous les Hâvrais... d'ou mon surnom)
 

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Re salut Gruick,


rerereremerci. En fait j'avais pas trop compris ton explication mais le fait de chercher dans la barre de menu une fonction contenant le mot "nom" j,ai reussi a trouver sa dans la berre de menu insertion.

J'avais completement oublie cette fonction (mon niveau excel se limite a bricoler des petits programme en utisant les fonctions a l'aide de l'assitant). Maintenant je comprend comment fait la macro pour savoir a quelle repetition et nom d'essai appartienne chaque micro parcelle.

Pour ce qui est de la formation VBA c'est clair que ca m'interresserai bien, mais la je suis un simple petit stagiaire en ecosse qui en a plus que pour 2 mois de stage, donc c'est meme pas la peine d'y penser pour l'instant. Mais je peux deja commencer par l'autoformation pour decouvrir au moins les bases et possibilites.


Bon maintenant je crois que tous est OK pour ce programme. Je vais quand meme voir si il n'y a aucun probleme lors de la realisation d'un nouveau dessin d'essai pour connaitre exactement quels sont les criteres a respecter pour la macro et par la suite former mon maitre de stage a ce programme


Merci sincerement pour le temps et les neurones que tu as consacre a ce projet et merci aussi au forum.


ps : desole pour l'absence des accents (je tape d'un clavier anglais)
 

vivi76

XLDnaute Nouveau
Re : recopiage automatique de contenu de cellules selon un plan d'essai

salut,

Ci joint le fichier Zip de ma tentative d'essai d'execution de la macro avec un nouveau plan d'essai. Donc comme je le disais la macro ne ve pas s'executer. Ceci est surement du à un non respect de toutes les règles (lors da la création du plan des essais) afin que cette macro puisse fonctionner correctement. Cependant je ne vois pas ce qui est faux.

Pour connaitre le problème il suffit juste donc de cliquer sur l'icone "labels process" et tu sera directement renvoyé a la fenetre VBA (mais ca je pense que tu le savais bien avant moi)

merci d'avance et bon week end
 

Pièces jointes

  • harvest labels2.zip
    18.1 KB · Affichages: 29

Gruick

XLDnaute Accro
Re : recopiage automatique de contenu de cellules selon un plan d'essai

Bonsoir Vivi,
Tu as de la chance, le dimanche, généralement, c'est pantoufles.
Je vais grogner :mad: , tu n'as pas respecté mes instructions :
Délimiter le champ par le plus gros trait le thick in english,
Fusionner toutes les r en dessous des parcelles. (pas très visible, utilises le 200%)
Surtout, faire le vide en dessous du champ, ça, je ne le t'avais pas dit.
Je ne l'avais pas vu dans ce fichier non plus.
La macro elle, a vu quelque chose, quelque part, je ne sais pas quoi ? en dessous de la ligne 32, ce qui l'a rendu folle.
Un ordinateur, c'est con, mais cette connerie nous est utile, la preuve.
Donc, tu fais le ménage en supprimant toutes les lignes en dessous de la 32; même si tu crois qu'il n'y a rien.
Je viens de moissonner, et 906 étiquettes sont sorties (virtuellement, sinon tu me devrais une cartouche).
Je te renvoie le fichier ainsi modifié, et du coup, je me sers aussi un whisky bien mérité. (m... il fait 56Ko, je dois zipper).(don't forget .xls, I'm a mac man)
A plus mon gars,
Gruick, both fingers in the nose....:)
 

Pièces jointes

  • Harvestlabels2.zip
    18.7 KB · Affichages: 41

Discussions similaires

Réponses
9
Affichages
164

Statistiques des forums

Discussions
312 216
Messages
2 086 340
Membres
103 192
dernier inscrit
Corpdacier