Enregistrement données formulaire en fonction du mois

C'est super ça marche du tonnerre merci beaucoup!!

Est ce que tu pourrais m'expliquer les lignes suivant s'il te plait?

 Lig = .ListColumns(1).DataBodyRange.Find(Nom, LookIn:=xlValues, lookat:=xlWhole).Row - 2
    Col = .HeaderRowRange.Find("Semaine " & Sem, LookIn:=xlValues, lookat:=xlWhole).Column
    If Lig > 0 And Col > 0 Then 'condition que le ligne et colonne soit trouvee
        .DataBodyRange.Item(Lig, 2) = Sheets("Saisie").Range("D11").Value 'heures
        .DataBodyRange.Item(Lig, 3) = Sheets("Saisie").Range("D3").Value ' salle
        .DataBodyRange.Item(Lig, Col) = "X" ' semaine

Attention c'est dans la version 1 cela et pas dans la version 2

- Lig : on cherche la ligne du nom dans la colonne 1 du tableau structuré (Listcolumn(1) = Colonne 1, Databodyrange = correspond au tableau structuré sans l'entête
- Col : on cherche la colonne de la semaine dans l'entête du tableau structuré (HeaderRowrange = correspond à l'entête du tableau structuré)
- Le IF vérifie que Lig et Col sont bien trouvés. Si non trouvé le code n'enregistrera rien.
- Les trois lignes en dessous, placent les valeurs Heures, salle, semaine dans la tableau structuré tel que décrit en fin de ligne
- Les points placés devant les instructions font référence à la ligne WITH que vous avez avant toutes ces lignes

Oui désolé j'avais le fichier 1 ouvert

Ok je comprends mieux merci !

With Sheets(Mois).ListObjects("T" & Mois)

Concernant cette ligne, comment fonctionne t-elle? Car il n'y a pas de feuille "Mois" et pas de guillemet donc je ne comprends pas vraiment comment cela fonctionne et où l'information est tirée..

Au niveau des mois il y a des listes déroulantes qui sont installées, dans quel but? Sans cela l'information ne peut pas être retrouvée?

Concernant cette ligne, comment fonctionne t-elle? Car il n'y a pas de feuille "Mois" et pas de guillemet donc je ne comprends pas vraiment comment cela fonctionne et où l'information est tirée..

1. Les mois sont renseignés dans la feuille Listes et chacun des noms correspond au nom de chaque feuille
2. Dans la feuille Listes, le tableau structuré reprenant le nom des mois est nommé "TNoms" dans le gestionnaire de noms
3. Le nom "Mois" est défini dans le gestionnaire de noms et correspond au nom des mois de TNoms
4. La liste déroulante en feuille Saisie - D5 est définie à partir du nom "Mois" reprit dans le gestionnaire de noms

Pour la ligne de code dont vous parlez, on définit la variable "Nom" qui correspond à D5 en feuille saisie

1. Sheets (Mois) : Pas de guillemets pour Mois car le code voit qu'il s'agit de la feuille grâce à la variabledéfinie sur la ligne avant le WITH
2. Listobjects("T" & Mois)
:
- Dans le gestionnaire de noms, on a attribué un nom "T" + mois pour chaque tableau structuré dans chaque feuille mois. Exemple pour janvier vous avez "TJanvier" dans le gestionnaire de noms.
- Listobjects("T" & Mois) correspond donc au nom du tableau structuré "T" + variable Mois définie.

Exemple pour janvier le code verra : Sheets(janvier).listobjects("TJanvier")

Au niveau des mois il y a des listes déroulantes qui sont installées, dans quel but? Sans cela l'information ne peut pas être retrouvée?

Que voulez-vous dire par "des listes déroulantes" ?

Super merci pour vos informations !

Oubliez les listes déroulantes, je vais pouvoir passer le sujet comme résolu. Un grand merci pour votre temps et votre aide!

Rechercher des sujets similaires à "enregistrement donnees formulaire fonction mois"