Créer une interface avec calendrier et carnet d'adresse
Bonjour
Je suis novice, et je souhaiterais savoir s'il serait possible de combiner plusieurs actions et modules sur une feuille:
- J'ai besoin d'un calendrier mensuel, avec le format ci-dessous, qui comprends les fêtes, jours fériés (Alsace-Moselle), les vacances scolaires de ma zone, de la place pour y noter mes rdv. J'aimerais que ce calendrier soit automatisé; créer un bouton pour faire défiler les mois suivant, sans avoir à remplir moi-même ce calendrier.
- Ensuite, je galère déjà depuis plusieurs jours sur la création d'un carnet d'adresse. Je me demande s'il était possible de faire comme ci-dessous, l'intégrer avec mon calendrier. Le carnet d'adresse doit avoir des boutons fonctionnels type; add picture, save, next etc...
- Dernière case, je sais faire, ouf !
Merci de votre aide !
Bonjour,
ça me semble faisable mais c'est un gros projet!
Ne serait-ce que créer la base de données des jours pour 2023 a été long à réaliser, j'ai dû retravailler un calendrier trouvé sur internet après copier-coller sur Excel.
Et encore, il manque la partie "jour férié", "jour de vacances scolaires".
Mais voici une proposition de calendrier un tout petit peu automatisé, il charge les fêtes pour les jours, mais pas les notes (à gérer plus tard avec du code VBA à mon avis pour le sauver dans la Base De Données):
On peut changer l'année et le mois avec les boutons, et les dates se chargent toutes seules, mais bon, forcément pour les fêtes il n'y a que 2023!
Merci pour ton aide ! Je vais me servir de ton calendrier, et faire en sorte d'élargir la base de donné !
C'est vrai que c'est un gros projet, mais je souhaiterais créer un outils qui puisse servir à toutes les personnes de n'importe quel métiers, et qui soit un minimum pratique, joli, et bien pensé
Content d'avoir pu aider un peu.
En la matière je sais que microsoft outlook a une interface plutôt bien pour gérer les calendrier et les carnets d'adresse, mais pas tous le monde l'a...
Je ne suis pas sûr que mettre le carnet d'adresse dans la même page soit forcément une bonne idée comme le calendrier prend déjà beaucoup de place, mais rien n'empêche de défiler vers le bas pour le voir.
Pour le calendrier je pense qu'ajouter une catégorie à la base pour mettre par exemple "vacances" ou "férié", et ensuite mettre une mise en forme conditionnelle sur les cases qui sont des jours d'une de ces catégories, serait une bonne idée, ça peut même être une nouvelle case sous le jour juste pour afficher une couleur, ou alors colorer toutes les cases du jour, avec des couleurs pastel de préférence pour ne pas faire mal aux yeux
Petite Update :
Image 1: Mon interface d'entrée remise à jour, par rapport à mon idée de départ. Pour le moment rien n'est fonctionnel dessus. Je ferais les raccords avec les autres page à la fin. Je vais retirer les contacts et le budget, j'ai des pages spécialement pour maintenant.
Image 2: Ma base de données des contacts.
Image 3: Mon USERFORM pour les contacts. Je galère à le rendre fonctionnel... Le bouton "Ajouter" fonctionne très bien, comme celui pour ajouter une photo". Mais dès que je souhaite activer la fonction de recherche ou modification, sa bloque. J'ai essayer plusieurs façon de noter le code.
Image 4: Le budget annuel. Sur cette page tout va bien.
Image 5: La base de données des calendrier. J'ai fais un mix avec celui de @Ausecour et @Fanfan38. J'aimerais maintenant les rendre fonctionnel, mais comment ?
A) J'ai besoin d'un calendrier mensuel, avec les fêtes/saint, le numéro du jour, savoir si c'est des vacances scolaire ou jour férié, sa journée mondiale, et une place pour y écrire des notes.
B) Et un calendrier annuel simple, juste les jours avec une petite note/couleur, pour avoir une vue d'ensemble.
C) J'ai voulu faire un menu déroulant sur la case "dates" pour y ranger correctement les mois et années, mais j'y arrive pas.
Merci pour les précédentes réponses
Bonjour,
Eh bien vous avez bien avancé!
L'interface a l'air plutôt agréable.
Si je comprends bien, vous cherchez les contacts par nom et prénom, et vous avez une liste avec ces noms prénoms, c'est bien ça?
Je partirais sur la possibilité d'avoir plusieurs résultats pour gérer la recherche d'un contact pour consultation et/ou modification.
On peut obtenir à partir de la saisie les différentes personnes qui correspondent, et afficher les résultats dans une liste dans laquelle on peut ensuite aller piocher parmi les résultats, on peut aussi stocker dans une colonne cachée les numéros de ligne de chacun des résultats.
Si vous avez du mal à par exemple faire les tests pour savoir si un nom prénom correspond au critère saisi, voici plusieurs astuces:
lcase() pour tout passer en minuscule (facilite la comparaison)
if lcase(nom_prenom) Like "*" & lcase(recherche) & "*" Then
Cette ligne permet de checker si le nom_prenom stocké dans la liste des contacts, transformé en minuscule, contient ce que l'on recherche, mis en minuscule également.
Pour la partie calendrier, je rajouterais bien une colonne note pour mettre des notes, une colonne "typeJour" où l'on précise si un jour est férié, vacance, ou alors rien pour journée normale. On peut ensuite avec quelques fonctions de recherche, grâce à la date, avoir le type de jour et la note pour chaque jour, on peut faire des mises en forme conditionnelles sur le type de jour pour afficher une couleur en particulier. Je ne vois pas bien la base pour les jours, peut-être que vous avez fait une colonne vacances, et une férié, ça marche aussi, il faut juste voir quelle mise en forme conditionnelle a la priorité sur l'autre (dans le cas où on a un jour férié pendant les vacances scolaires).
Il faudra en revanche une partie "synchronisation" entre la base et ce qui est affiché, une formule Excel ne suffira pas comme on peut communiquer dans les deux sens. En revanche rien n'empêche d'avoir une sorte de tableau intermédiaire avec des formules, qui serait caché, pour faciliter la communication entre les deux.
Il faudrait que cette synchronisation se lance à chaque fois qu'on fait bouger les dates dans le calendrier (et donc que certaines notes doivent disparaitre).
Je n'ai pas compris ce que vous souhaitez faire pour l'histoire du menu déroulant sur les dates donc je ne saurais pas apporter de réponse.
Hello !
Merci, je suis plus douée en design qu'en code
Pour les contacts, j'ai voulu faire comme sur la vidéo Youtube de Seb, j'ai pas le droit de poster le lien, mais sa vidéo s'appelle "Excel VBA Création de formulaire", son avatar c'est un bébé singe à lunettes
Seulement, son code de recherche et modification ne fonctionnent pas. J'ai rempli correctement les données, j'ai modifié les codes avec mes infos etc... Et rien ne marche. J'ai même demandé à chat GPT de corriger le code, de me le reformuler, mais toujours rien. Dès que je clique sur mon menu déroulant, je vois bien les "Nom/Prénom", mais aucunes informations ne viens quand je clique sur " recherche".
Pour le calendrier mensuel Photo 1 : J'ai redimensionné mes cases pour y faire entrer les journées mondiale, et agrandi celle pour les notes
Pour la base de données des calendriers Photo 2 : Je voulais un menu déroulant comme sur l'image 4, qui vient de votre document haha J'aime quand tout est bien catégorisé, que rien ne dépasse ! J'ai également ajouté une colonne pour les journées mondiale, et une colonne Note du jour comme vous l'avez suggéré, ce sera plus simple de retrouver mes notes, je n'y avais pas pensé !
Comment je peux faire pour que mes deux calendrier communiquent entre eux du coup ? C'est des formules spéciales, des codes VBA, des modules à faire ?
Bonjour,
Je ne savais même pas qu'il fait des vidéos
Du coup si je comprends bien vous n'avez pas les dates quand vous voulez filtrer la colonne qui les contient?
Si c'est le cas c'est peut-être à cause d'Excel qui n'a pas encore compris que ce sont des dates, il faut s'en assurer au cas où, c'est possible de sélectionner toutes les cases de la colonne, mettre le format date, puis aller dans l'onglet "Données" puis aller dans convertir, et juste sélectionner le format date pour s'assurer que tout est bon.
Pour les calendrier:
Je pense que pour le calendrier annuel des formules suffiront car il ne fait que lire la base de données des jours.
En revanche pour le calendrier où on peut saisir des notes, il faut à mon avis intégrer du VBA, le souci avec les formules Excel c'est qu'elles ne font que lire les données, on ne peut pas à la fois avoir une formule qui lit, et une partie saisie manuelle dans la même case. En revanche avec du VBA c'est possible!
On peut alors:
Faire un tableau caché à côté du calendrier qui va lire les informations du calendrier et les inscrire correctement pour ensuite exporter le tout dans la base de données, pour ça on peut avoir quelques =adresseDeLaCellule je pense.
Pour l'export on aurait plus qu'à prendre les données de ce tableau qui a été préparé avec les formules et écrire les infos dans les lignes correspondantes aux dates.
Pour l'import ça serait un peu le même principe, préparer un tableau caché qui ressemble au calendrier avec des formules Excel, et après copier le résultat en VBA dans le calendrier.
Ce n'est pas la méthode la plus propre, mais selon moi ça serait celle qui demanderait le moins de codage comme une grosse partie serait faite avec des formules Excel.
J'espère être clair dans mes explications
J'ai pas trouvé comment faire, pour faire comprendre à excel que ce sont des dates. Je débute, et c'est vachement compliqué de trouver des tutos qui expliquent et montrent ce que j'ai besoin de faire... Sa me rend chèvre !
Vous pouvez détailler comment faire chaque étapes ? Sinon je balance mon PC
Bonjour,
Oui bon on va éviter de balancer le PC tout de suite
Bon imaginons qu'on parte de ça:
On a un petit tableau avec à gauche des dates au format texte, et de l'autre côté des dates au format date. Quelle différence?
Eh bien déjà malgré le fait que je n'ai pas touché plus que ça à la mise en forme (à part mettre des bordures), d'un côté on a les dates alignées à gauche, et de l'autre à droite, car d'un côté on a du texte, et de l'autre des dates.
Seulement ce n'est pas qu'une histoire d'alignement, on a des données totalement différentes du point de vue d'Excel, si on fait:
on obtient alors FAUX partout, la raison? pour Excel une date n'est rien d'autre qu'un nombre de jours passés depuis le 1 janvier 1900, le 1er janvier 2023 est donc en fait le nombre 44927 simplement mis en forme par Excel pour qu'il soit lisible sous forme de date. Sur Excel, si on a "44927" sous forme de texte, et de l'autre côté 44927 qui est un nombre, on a bien deux valeurs différentes, du texte d'un côté, un nombre de l'autre.
Ici ce qui gêne aussi pour le filtre, c'est le fait qu'on ait du texte, d'un côté nous avons:
et de l'autre:
Excel nous propose donc filtre textuel d'un côté, et de l'autre filtre chronologique (quand il comprend bien qu'il a des dates).
Mais alors comment avoir des dates?
Eh bien nous avons plusieurs possibilités:
- Formule
- Données->Convertir
Pour les formules:
On peut utiliser DATEVAL() qui convertit une date donnée sous forme de texte en date, on peut mettre ça à côté de chaque valeur à convertir, puis copier les valeurs:
Avec la formule on obtient bien 44927, ensuite on met cette formule pour chaque ligne, on copie les résultats, et on fait un clic droit pour coller sur les dates au format texte, et on choisi de copier les valeurs. Ensuite il ne reste qu'à mettre tout ça au format date courte.
Avec Données->Convertir:
On peut aussi procéder de la façon suivante:
on sélectionne les dates à convertir puis:
Dans le ruban on va dans l'onglet "Données" et on choisi "Convertir".
Normalement cette option sert plutôt à convertir des données textuelles séparées avec par exemple un point virgule, mais elle permet aussi de faire de la conversion de format.
On clique 2 fois sur suivant pour arriver à l'étape 3 sur 3:
à cette étape, on veut cocher Date et ensuite valider en cliquant sur Terminer:
On obtient alors le résultat suivant:
Oui c'est passé à droite, mais pas que!
Si on teste à nouveau si on a bien A2 = B2, on à cette fois VRAI. Car on a bien deux fois la même date, on a aussi bien un filtre chronologique qui est proposé.
Peu importe la solution choisie, on risque de devoir répéter l'opération car quand on va aller piocher des calendriers sur internet, on a des chances que les dates qu'on copie soit stockées sous forme de texte, et qu'on obtienne du texte.
On peut assez rapidement détecter si on a des dates au format texte avec le filtre s'il propose "filtre textuel", et on a 2 solutions envisageables pour convertir le tout en date, soit par formule, soit avec la fonction "Convertir" de l'onglet "Données" dans le ruban.
J'espère avoir été clair dans mes explications, ça remonte à loin la dernière fois que j'ai tenté d'expliquer quelque chose de la sorte
PS: pour obtenir le résultat de la colonne la plus à gauche j'ai triché un peu, j'avais utilisé cette formule: =TEXTE(B2;"jj/mm/aaaa")
ça m'a permis de convertir les dates saisies en colonne B en texte.