Copier ligne X fois & répéter les valeurs de cellule X fois

Bonjour à tous

Voilà, je voudrais créer une sorte de calendrier mensuel qui se remplit grâce des valeurs renseigné.
Sur une feuille, j’ai mes cellules à renseigner (Type de plante (liste déroulante) Quantité en kg frais, temps de séchage et la date de début)

1

Je voudrais que dans mon onglet Calendrier.
Il cherche la ligne avec la date (exemple 25) et que dans cette ligne, ils m’écrivent « le type de plante » 4 fois. (cellule qt) j’ai réussi à trouver un code je pense que ce n’est pas le meilleur, mais ça fonctionne =)
Je mets ci-dessous une capture d’écran pour visualiser ce que j’essaye de raconter.

2

Code :

Code : Sub BtnValideDispSechoir()
Dim x As Integer
Dim Cpt As Integer
Dim Rng As Range

Set FichierSource = ThisWorkbook
Set FichierCible = Sheets("CALENDRIER")
dat = Range("J23").Value
 x = Range("F23").Value
        Range("D23").Copy

For i = 1 To 31 Step 1

Sheets("CALENDRIER").Activate
For Cpt = 1 To x

If Sheets("CALENDRIER").Range("A" & i) = dat Then

If Sheets("CALENDRIER").Range("B" & i).Offset(0, Cpt) <> "" Then

Sheets("CALENDRIER").Range("B" & i).Offset(0, Cpt).End(xlToRight).Offset(0, 1).PasteSpecial Paste:=xlPasteValues
Cells(Rows.Count, 1).End(xlUp).Row 1
Else
Sheets("CALENDRIER").Range("B" & i).Offset(0, Cpt).PasteSpecial Paste:=xlPasteValues
End If
End If
Next Cpt

FichierSource.Activate
Next i
End Sub

Le truc, c’est que j’aimerais qu’en plus de m’écrire X fois le type de plante dans la ligne du jour sélectionné qu’il copie la ligne par rapport au temps

1

Dans l’exemple, le temps est de deux jours donc j’aimerais que sur le calendrier, il me fasse ceci :

3

J’espère avoir été assez clair, pensez-vous cela réalisable ?

Merci d’avance

Bonjour,

Avant de commencer quoi que ce soit :

- se peut-il qu'il y ait plus de besoin, que de claies? ( et/ou Plusieurs produits en même temps dépassant le nb de claies disponibles?)

- Quid des fins de mois? (calendrier annuel, ou mensuel)?

Bref, tout est possible, mais plus le cahier des charges est précis, meilleure la réponse sera !!!

Bonne soirée, et bon W-E

Ah, et j'oubliais...

Bonjour Cousinhub,
Merci pour ta bienvenue

- non, justement, le but était d’avoir un « planning de disponibilité. »

- de base, je voulais faire un calendrier Annuel, mais je me suis rendu compte qu’avec le formule de recherche de date, c’était compliqué (en-tout-cas pour moi ).

Je me suis dit pê de copier le mois laisser une colonne vide ect..

Merci
Bonne soirée, et bon W-E à toi

Bonjour

Pas très clair

Pourquoi 2 fois la même info sur l'onglet Disp.Séchoire ? C'est un formulaire de saisie en haut ? Mais dans ce cas pourquoi des formules qui pointent dessus ?

Par ailleurs il serait plus simple d'afficher le temps en nombre quitte à l'afficher avec le mot jours via un format personnalisé.
De même la répétition de la date est peu utile

Avec un tableau structuré et une requête PowerQuery, c'est relativement simple à faire et sans VBA

A partir de cela

image

On obtient

image

Bonsoir 78chris

oui en haut c'était bien un formulaire, en dessous "calcul" j'avais mis les même info pour faire les calculs..

effectivement je n'ai pas pensé au format personnalisé!!

pour ce qui est du tableau structuré et une requête PowerQuery, je connais pas du tous je vais regarder ça de plus près

merci pour ces informations =)

RE

Pour les calculs il faudrait se référer à un abaque afin d'automatiser ce calcul selon la plante, quelque chose comme cela :

Plante, Claies par QT, Jour pat QT

Ci-joint l'exemple fait avec PowerQuery (sans les formules dans le tableau source)

Quand on ajoute des données dans le tableau source il suffit d'actualiser le Calendrier

RE 78chris,

Je suis en train de regarder ce que tu as fait, mais je t’avoue que je ne comprends pas le fonctionnement.

Les plantes, les QT et les jours sont variables, je n’arrive pas à comprendre ou c’est que je renseigne cela dans ton tableau ?

Tu parles de référer à un abaque, mais la seul valeur fixe est claie par QT qui est de 1Kg.

Je pourrais très bien aujourd’hui.

Faire 20 Kg de Plante 1 et 1 kg de plante 2 pour un temps de séchage de 2 jours

Et

Dans 2 jours faire 1kg de 21 plantes ect

Merci =)

RE

SI c'est une claie par QT, inutile d'ajouter un calcul : il suffit d'utiliser QT pour attribuer les claies.

Le temps de séchage est lié à quoi ?

Bonjour ,

D’une donnée. Le temps maximum est de 5 jours

Bonjour

La question est justement où est la donnée pour pouvoir automatiser le calcul...

Enfaite cette donnée est variable.

C’est Pour cela que j’avais mis une liste déroulante de 1 jour à 5 jours .

pour être plus précis la temps varie de l’humidité des plantes ainsi que la température de séchage

RE

Dans ce cas le formulaire de saisie en haut doit prévoir la saisie du nombre de jours de façon à remplir par VBA les colonnes Plante, QT Frais, Temps, Date du tableau du bas. Ce tableau servant à répartir les claies via la requête PowerQuery.

On peut aussi remplir manuellement la tableau du bas : pas sûr de l’intérêt de ce pseudo formulaire

La date de fin peut être calculée ou la colonne supprimée, le nombre de jours suffisant au calcul du calendrier.

Il est d'ailleurs à noter que si cela commence le 25, 2 jours entiers donnent 25 et 26 et non 25+26+27

Re ,

Très bien merci pour tes réponses !! j’essaye de regarder quelques tutos de powerQuery

Et oui 25 +2 jours donnent bien le 26 je n’ai effectivement pas mis de format du coup il me compte un 25+2 mathématiquement.

RE

Je t'ai joint les requêtes PowerQuery donc le problème immédiat c'est déjà de prendre des décisions sur

  • la structure du tableau du bas synthétisant l'ensemble des séchages
  • la nécessité ou non du du pseudo formulaire : remplir une ligne en haut et du code VBA ou directement sans besoin de code dans le tableau lui-même (avec des listes de validation)

Après je pourrai t'expliquer la logique PowerQuery entre ce tableau et le calendrier

Re,

je ne comprend pas ou tu veux en venir pour :

  • la structure du tableau du bas synthétisant l'ensemble des séchages
pour ce qui est du pseudo-formulaire, je trouvais ça plus simple pour le fonctionnement .

RE

je ne comprend pas ou tu veux en venir pour :

  • la structure du tableau du bas synthétisant l'ensemble des séchages
pour ce qui est du pseudo-formulaire, je trouvais ça plus simple pour le fonctionnement .

Tu voulais saisir une ligne et la traiter directement par VBA via un calcul dans le second tableau

Cela ne me parait pas une bonne approche car il faut se servir de 3 tableaux, dont le calendrier rempli par les saisies précédentes, pour mettre à jour le calendrier avec le nouvelle saisie.

Là l'idée est un unique tableau, où sont listés tous les séchages, duquel découle le calendrier.

Tableau qui peut d'ailleurs aussi être utilisé pour des statistiques, ce que ne permet pas ou très difficilement, le calendrier seul.

RE

Effectivement, 3 tableaux ne sont pas une bonne approche
Cependant le but était de remplir le calendrier au fur et à mesure

RE

Rien n'empêche d'actualiser la requête à chaque ligne saisie (clic droit dans le calendrier ou Données, Actualiser Tout), ce qui mets le calendrier à jour...

Manifestement tu as un processus particulier que tu n'expliques pas.

On en est à plus de 15 posts et près de 24h et on fait du sur place...

re,

Allez J’essaye d’expliquer une dernière fois, parce que bon tu en as assez fait ! (Merci)
J’ai 15 types de plantes différentes qui se récoltent à des mois « précis. » (ça varie quand même)

Plantes

Mois de recolte

Plante 1

Juin

Plante 2

Avril

Plante 3

Juillet

Plante 4

Avril

Plante 5

Juillet

Plante 6

Août

Plante 7

Août

Plante 8

Juillet

Plante 9

Août

Plante 10

Mai

Plante 11

Décembre

Plante 12

Septembre

Plante 13

Juin

Plante 14

Juin

Plante 15

Juillet

Prenons l’exemple du mois de juin, j’ai:

- Plante 1
- Plante 13
- Plante 14

Que je dois récolter et sécher. Cependant, je ne peux pas tout récolter laisser en attente pour sécher.
Je dois récolter la quantité que je peux sécher, cependant il se peux qu’une demande spécifique soit demandée, par exemple une Coop à besoin de 5 Kg de plantes 1, 3 kg de plante 13 et 10 kg de plante 14 pour une date.

Pour rappel, j’ai 21 claies donc 21 kg de place.
Je mets quelques chiffres fictifs ici pour les cas ci-dessous.

Type de plantes

Total QT frais sur terrain

La QT Frais récolter par 1 personne/jour

Plante 1

300 Kg

21 Kg

Plante 13

200 Kg

15 Kg

Plante 14

80 Kg

10Kg

Cas 1 : je ramasse la QT Max que je puisse.

Je ramasse 21 Kg de plante 1 le 7/08/21. Je veux le renseigner à mon calendrier.
(On va dire un temps de séchage de 2 jours)
Je voudrais que sur mon calendrier cela s’affiche comme cela :

image4

Ce qui me permet de lire le 7 et 8 je ne peux plus rien sécher donc je ne peux plus rien récolter.
(Bon, là pour une récolte ce n’est pas très intéressant)

Cas 2 : « Demande spécifique »
Coop me demande :

Type de plantesQT fraisTemps de séchage
Plante 15Kg2 Jours
Plante 133 Kg
Plante 1410Kg

Bon bien évidemment 5 kg de frais ne fait pas 5 kg de sécher, mais c’est juste histoire de mettre des chiffres.

Donc le 9, je vais récolter les Qt nécessaires
Mtn, je l’incorpore dans mon calendrier ce qui donne ça

image5

Ce qui me permet de lire que j’ai 3 claies de disponible.

Cas 3 : avec des temps de séchage diffèrent
On va dire, je vais récolter ça le 15.

Type de plantes

QT frais

Temps de séchage

Plante 1

5Kg

2 Jours

Plante 13

3 Kg

1 Jour

Plante 14

10Kg

5 Jours

Dans mon calendrier :

image6

Ce qui me permet de lire :
- Le 15, j’ai 3 Claies de disponibles
- Le 16, j’ai 6 Claies de disponibles
- Le 17, 18 et 19, j’ai 11 Claies de disponibles.

Voilà, j’espère avoir été un peu plus précis qu’hier.

Merci beaucoup !!!

RE

Eh bien si dans le fichier que j'ai posté, tu remplis le tableau du bas, une seule ligne ou bien plusieurs à la fois, et actualises cela fait bien cela, non ?

Rechercher des sujets similaires à "copier ligne fois repeter valeurs"