Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Automatiser un planning sur Excel

Nasseuz

XLDnaute Nouveau
Bonjour à tous,

J'aurais quelques questions par rapport à l'automatisation d'un planning sur Excel.

Pour être plus précis, j'aimerais savoir jusqu'à quel point peut-on automatiser un planning sur Excel ?

Pour l'exemple que j'ai mis en pièce jointe, il y a une base de données avec plusieurs infos (heure des cours, matières, nom du professeur, etc.), et un planning rempli avec les données du tableau (bon, à vrai dire je n'ai pas rempli le planning fictif en entier par manque de temps...). L'idée ça serait que lorsque je change les données sur mon tableau, cela change également les données sur mon planning.

Par ailleurs, la structure du planning changera peu, mais je me demandais tout de même si il était possible pousser l'autonomisation au point de changer la structure du planning en fonction des nouvelles données ajoutés. Quelques exemples pour illustrer :
-imaginons par exemple qu'un mercredi nous ayons deux cours différents au lieu d'un habituellement, et bien que les 7 colonnes consacrés à un seul cours puisse se scinder en deux et que puisse apparaître deux cours distinct.
-Autre exemple, qu'un cours en plus se rajoute le lundi à peu près en même temps qu'un autre cours => donc qu'une nouvelle colonne apparaisse le lundi pour "accueillir" ce cours.
-Aussi qu'on puisse éventuellement décaler un cours, ce qui concernerait les cellules fusionnées comprenant données + la couleur qui serait déplacées autre part dans le tableau.

Très honnêtement je pose la question pour être sûr mais ce que je demande me paraît être irréalisable sur excel. Sauf éventuellement la première la question, donc simplement de pouvoir renvoyer des données dans une structure stable.

Aussi, si vous avez des idées de structure de planning de cours qui seraient plus facilement automatisable sur excel, je suis également preneur.

Enfin, j'ai quelques bonnes bases en R et SAS mais je n'ai jamais programmé (macro, VBA) sur Excel. Par conséquent, j'aurais également besoin de pédagogie quand à l'usage et la compréhension des codes qui me seront proposés en solution (si il existe vraiment une solution bien entendu).

Merci à tous pour votre attention.

Bien cordialement.

Nacim
 

Pièces jointes

  • données fictives.xlsx
    22.2 KB · Affichages: 32

xUpsilon

XLDnaute Accro
Bonjour,

J'ai une réponse qui ne va pas vous plaire mais : à peu près tout est possible, la seule question c'est comment.
Voici un point qui va être particulièrement problématique :
- le fait d'avoir potentiellement plusieurs cours en même temps -> la hantise de tout programmeur VBA c'est les cellules fusionnées. Excel n'aime pas ça, le formatage n'aime pas ça... Bref, on n'aime pas ça. Une chose est sûre, moins le nombre de cours en simultané possible est grand, et mieux on se porte

Voici comment je verrais les choses :
- commencez par découvrir VBA, notamment en ce qui concerne comment remplir des cellules et les boucles (si vous avez des bases en programmation, ça devrait aller vite)
- faites un premier test de génération de planning SANS cours en simultané. Seulement une liste de cours avec des jours et des heures, ça devrait déjà prendre un petit peu de temps (utilisation des boucles, compréhension du comportement de Excel "dans une feuille")
- essayez de traduire ces éléments "sur feuille Excel" dans une gestion par Array VBA (temps d'exécution bien plus court)
- finissez par un produit fini avec nombre de cours en simultané variable, basé sur une structure stockée en Array (voir éventuellement en passant par des modules de classe, mais là l'apprentissage n'en sera que plus long).

Bonne journée,
 
Dernière édition:

Nasseuz

XLDnaute Nouveau
Bonjour,

Merci pour ces conseils avisés.

Je vais apprendre par étapes comme vous me l'avez conseillé, et je reviendrai poser des questions plus spécifiques en cas de blocage.

Bien cordialement.

Nacim
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…