Détection de couleur de fond et remplissage auto d'un tableau

Bonjour,

Je suis maraicher et j’aimerai extraire des infos de planification annuelle de semis et plantation de légumes pour combiner un tableau afin de l’importer dans google agenda

Je pars de 3 feuilles excel :

  • La 1ere est la planification annuelle des semis et des plantations (feuille « planification ») :
    Pour chaque espèce de légume je donne une couleur à une cellule pour une semaine de l’année
    Cette cellule peut avoir 3 couleurs différentes :
    vert foncée : semis de plant
    vert clair: semis direct
    orange: plantation
  • La 2ème donne des infos pour chaque espèce de légumes (feuille « données légumes ») :
    Les données qui m’intéressent sont :

    - Le nombre de plants avec marge à semer en plaque
    - Le nombre de plants sans marge pour les semis directs et les plantations
    - Le nombre de planche de culture.

    Ce que je cherche à faire :
    Balayer semaines après semaines la feuille "planification" et remplir automatiquement le tableau de la feuille "google agenda" par ordre chronologique, que je convertirai en fichier csv pour l’importer dans un agenda google

    -> Détecter pour chaque semaine de la planification, la couleur d’une cellule, le légume & les infos associées
    -> Remplir chronologiquement chaque ligne du tableau de la feuille "google agenda":

Dans la colonne « Subject » : inscrire « Semis Plants » ou « Semis Direct » ou « Plantation » + Nom du légume

Dans la colonne Start Date : inscrire le 1er jour de la semaine concernée (si possible en format anglais sinon je le convertirai ensuite)

Dans la colonne Start Time : inscrire 00 :00 :00 pour le 1er légume, puis 01 :00:00 si il y a un 2ème légume à la même date, puis 03:00:00 si un 3eme, etc…

Dans la colonne End Date : la même chose que la colonne Start Date

Dans la colonne End Time : chaque légume correspond à 1 h de rdv cad si un légume commence (Start Time) à 00 :00 :00 alors en End Time il y aura 01 :00 :00, si un légume à un Start Time de 02 :00 :00 alors son End Time sera 03 :00 :00, etc

Dans la colonne Location : je voudrais en 1er l’info du nbre de plants avec ou sans marge (avec pour semis plants et sans pour semis direct et plantation) + une virgule + espace + nbre de planche de culture.

Voila ça fait beaucoup, mais si vous avez quelques pistes je peux commencer à travailler...Je suis débutant en excel ;)
Je vous joins le classeur avec les 3 feuilles, la feuille "agenda google" est le résultat que je voudrais avoir.
Merci d'avance!

10classeur-ryzom.xlsx (13.34 Ko)

Merci pour la bienvenue.

Je connais et utilise déjà les mises en forme conditionnelles

Je vois qu'il y a d'autres maraichers qui tentent de se dépêtrer avec excel et leur planif!

Merci de toute façon!

Re,

Voici un premier jet de ce que vous souhaitez

- Pour le planning, j'utilise des MFC avec une valeur dans les cellules "SP", "SD" ou "P
plus simple à gérer ensuite dans le code

- J'ai créé un Tableau Structuré pour les espèces (j'aurais pu le faire pour le planning, mais moins facile à gérer à mes yeux)

- Dans "google agenda" j'ai mis un bouton qui efface la feuille puis inscrit les données

En revanche il subsiste certains problèmes de compréhension de ma part

Whaou! Merci JExceL2fr

Et bien moi qui découvre les macros et VBA...j'ai du pain sur la planche! En tout cas bravo la structure est déjà bien là!

Je vois 2 choses à affiner:
- les Start Time et End Time qui vont devoir être différents et se suivre pour une même date

- le nombre de plants pour semis direct & les plantations qui doivent être "sans" marge et repris de la colonne B

Je vais déjà travailler sur le 2eme point qui me semble plus facile! ;)

En tout cas encore un grand merci!

Bon, j'ai réussi à distinguer les plants sans marge pour semis direct & plantation ...Petite victoire!

En revanche pour ajuster les Start Time je sèche:

Il faudrait que j'arrive à traduire en VBA:

1ere nouvelle ligne : la 1ere cellule de la colonne C est 00:00:00

2eme nouvelle ligne:

Si la cellule de la colonne B est identique à celle de la ligne précédente alors la cellule de C est augmentée d'une heure ( 01:00:00)

sinon

la cellule de la colonne C est 00:00:00

je continue de creuser

Héhé,

ça y est!

Je vais le tester sur l'ensemble... avant de cocher résolu...

Merci!

Hum, je rame pour adapter la macro à mes feuilles initiales complètes:

Dans ma feuille complète "planification" j'ai, entre la colonne A (contenant les intitulés de légumes), et le début des semaines a balayer des colonnes avec d'autres infos...J'ai aussi 2 lignes au dessus des dates de semaines...Peut t on les extraire dans la déclaration ?

 dLigS = ShtS.Range("A" & Rows.Count).End(xlUp).Row
  dColS = ShtS.Cells(1, Columns.Count).End(xlToLeft).Column
capture d ecran 2024 10 20 152804

Vous avez converti le tableau de la feuille "données légumes" en tableau structuré....est il possible de s'en passer et de donner seulement le nom de la feuille et la plage de colonne concernée sans les 3 premières lignes? Convertir une partie de cette feuille en tableau structuré complique beaucoup la lisibilité de l'ensemble...J'ai mis en jaune les 4 colonnes nécessaires

capture d ecran 2024 10 20 155119

Merci, je continue!

Bonjour ryzom

Et bien vous avez sacrément avancé

Pour les 2 lignes données, elles trouvent seulement la dernière ligne et colonne du tableau

Pour changer la ligne de départ et/ou la colonne de départ, il faut modifier les boucles

  ' mettre à jour les plantations
  For Col = 2 To dColS
    For Lig = 2 To dLigS

Peut-être mettre disponible le dernier fichier mis à jour

A+

Hello JExceL2fr,

Ok je viens de modifier:

For Lig =3 To dLigS

et puis:

.Range("B" & nLigD).Value = ShtS.Cells(2, Col).Value

et

.Range("D" & nLigD).Value = ShtS.Cells(2, Col).Value

Ça passe nickel en insérant une ligne au dessus des dates de la feuille planification...



Hello JExceL2fr, j'ai modifié un peu mes fichiers originaux et tout roule...merci encore!

Salut,

Merci pour le retour

Rechercher des sujets similaires à "detection couleur fond remplissage auto tableau"