Report de valeur d'un onglet à un autre

Bonjour,

Je travail sur un calendrier annuel, pour lequel je veux créer des onglets par semaines pour organiser mon travail.

J'utilise la formule ci dessous pour transposer les valeurs du calendrier vers l'onglet de la semaine.

SI($B$1=0;0;RECHERCHEV($B$1;Calendrier!$A$4:$L$2000;3;FAUX))

Elle fonctionne très bien pour la première ligne, mais je bloc pour transposer les autres jour de la semaine (mardi au dimanche).

Je vous joint le fichier en question.

11test.xlsx (78.78 Ko)

Est ce que quelqu'un aurait un tour dans sa manche ??

Bonjour,

Ci-jointe une proposition. Si la solution convient, il faudra l'adapter car les tableaux des 2 colonnes mois n'ont pas la même structure et dans l'exemple, les valeurs renvoyées ne correspondent pas au contenu des colonnes de la semaine.

Principe : j'ai ajouté 2 colonnes à gauche du tableau par semaine (ces colonnes pourront être masquées) :

  • La 1ère colonne utilise la fonction EQUIV pour retourner le n° de ligne du jour de la semaine dans le calendrier
  • La 2ème colonne identifie la colonne 1 (A) ou 14 (N) dans laquelle le n° de semaine a été trouvé
  • Pour le lundi :
    • 1ère colonne : recherche le n° de semaine dans la colonne A et vérifie que le le jour correspond au lundi, si ce n'est pas le cas, la recherche s'effectue dans la colonne N.
    • 2ème colonne : 1 si trouvé dans la colonne A ou 1' si trouvé dans la colonne N
  • Pour les autres jours
    • 1ère colonne : vérifie que le n° de la ligne précédente + 1 et N° de colonne de la ligne précédente correspond à la même semaine, sinon effectue la recherche de la semaine dans la colonne 1 si la N° de colonne précédente = 14 et sinon dans la 14.
    • 2ème colonne : 1 si trouvé dans la colonne A ou 1' si trouvé dans la colonne N

Pour renvoyer les valeurs, utilisation de la fonction INDEX avec le n° de ligne et la n° de colonne en base (+ X pour pointer sur la colonne voulue).

J'ai testé avec des semaines à cheval sur 2 mois, cela fonctionne.

9test2.xlsx (73.05 Ko)

Bonjour,

Merci pour votre travail. Je suis toujours un peu surpris par la capacité de contourner le problème de certains. J'ai testé et effectivement cela à l'ai de fonctionner. Par contre il y a des numéro de semaine pour lesquels cela ne fonctionne pas, par exemples (1,2,3,4,5,6,7,8,14,15 et autres) et je ne comprends pas pourquoi.

Pouvez vous m'éclairer ?

Merci pour votre implication

Bonjour,

1er problème : Le calendrier comportait 2 fois le mois de décembre et il manquait janvier.

2ème problème : Les formules ne fonctionnaient que si la semaine était présente entièrement dans le calendrier. Les 1ère semaine de septembre et dernière semaine de juillet ne sont présentes que partiellement et généraient des erreurs dans les formules.

J'ai apporté les corrections et je vous propose une modification des calculs de la date début du cycle et des jours dans le calendrier. Vous pouvez ne pas en tenir compte (il faudra rectifier le mois de décembre), cela n'affectera pas les formules des feuilles "semaines".

8test3.xlsx (76.64 Ko)

Cdlt,

Cylfo

Bonjour,

Merci pour ce super travail qui fonctionne très bien.

J'ai ajouté une colonne dans le calendrier, et cela a perturbé la formule Excel. Je n'arrive pas à la modifier pour quelle fonctionne correctement de nouveau.

Je ne veux pas abuser, mais est ce que vous pouvez la rectifier, et surtout, je sais que cela peut-être un peu pénible, mais est ce que vous pouvez m'expliquer ce que je n'ai pas vu pour y arriver. Comme le proverbe dit, ne lui offre pas le poisson, apprend lui à pêcher

Merci de nouveau pour votre investissement.

7test3.xlsx (84.16 Ko)

le fichier que j'ai oublié d'ajouter

Bonjour,

"et surtout, je sais que cela peut-être un peu pénible, mais est ce que vous pouvez m'expliquer ce que je n'ai pas vu pour y arriver." non, rien de pénible .

Dans les semainiers, les formules des colonnes "Ligne" et "Colonne" identifient la ligne et la colonne où le n° de semaine est trouvé dans l'onglet "Calendrier" et que le jour du calendrier correspond au jour du semainier.

  • La formule de la colonne "Ligne"
    • Pour le lundi :
      • Test 1 si la fonction retourne une erreur
        • Test 2 si la fonction retourne une erreur
          • recherche dans la colonne "A" le n° de semaine et vérifie qu'à cette ligne le jour de la semaine est un lundi (=1) : peut provoquer une erreur si la semaine du calendrier n'est pas présente dans la colonne "A" du calendrierSi Oui => stocke le n° de ligne
          • Si Non => Stocke le n° de ligne correspondant à la recherche du n° de semaine dans la colonne "O" : le n° de semaine avait été trouvé dans la colonne "A" mais la ligne ne correspond pas à un lundi
      • Si erreur => recherche du n° de semaine dans la colonne "O" : peut reprovoquer une erreur si la semaine n'est que partiellement présente dans le calendrier (cas de la 1ère semaine)
    • Si erreur retourne vide "" : le lundi de cette semaine est absent du calendrier
  • Pour les autres jours :
    • Test 1 si la fonction retourne une erreur
      • Si le n° de la ligne précédente du semainier n'est pas vide
        • Si la ligne suivante du calendrier correspond à la même semaine => n° de ligne précédent +1
        • Sinon on recherche le n° de semaine dans la colonne "A" si "Colonne" de la ligne précédente est égale à 15 et dans la colonne "O" dans le cas contraire ("Colonne" précédente = 1)
    • Si erreur => Test 2 si la fonction retourne une erreur
      • Idem que pour le lundi mais en testant le jour du semainier en fonction de la ligne (mardi (=2), mercredi (=3), ...)
    • Si erreur retourne vide "" : une partie de la dernière semaine du calendrier n'est que partiellement présente*
  • La formule de la colonne "Colonne"
    • Le n° de semaine de la ligne "Ligne" est il en colonne "A"
      • Si oui = 1
      • Sinon = 15 ... avant l'insertion d'une colonne le n° de semaine était en colonne 14 , c'est juste cela qui a "cassé" les formules.
  • Pour éviter d'avoir à modifier les formules en cas d'insertion de colonnes, j'ai nommé 2 cellules dans la feuille "Paramétrage" qu'il faudra actualiser en cas d'insertion.

    12test4.xlsx (78.34 Ko)

    Cdlt,

    Cylfo

    Bonsoir,

    Je viens de découvrir votre travail. Je comprends un peu mieux mais, je ne sais pas quoi dire. Je suis sur les fesses en voyant vos capacités.

    Un grand merci. Je me permettrai peut être de vous contacter en message privé si besoin si vous me le permettez.

    Rechercher des sujets similaires à "report valeur onglet"