Nommer colonne

Résolu/Fermé
mchotard Messages postés 395 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 3 septembre 2023 - 19 juil. 2022 à 09:36
mchotard Messages postés 395 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 3 septembre 2023 - 19 juil. 2022 à 11:44

Bonjour

Voilà mon problème j'ai la formule ci-dessous

=INDEX(H:H;EQUIV(9^9;H:H)-1;1)

La colonne H correspond au mois de juillet soit le mois d'aujourd'hui. Même si ce n'est pas fastidieux, chaque mois je dois modifier la formule pour que H:H devient I:I correspondant au mois d'aujourd'hui idem pour les mois à venir.

Serait-il possible de remplacer H:H par Juillet et I:I par septembre etc..

Sans doute faudrait-il renommer les colonnes, mais je ne saks pas faire. Merci pour votre aide à tous.

Cdlt

3 réponses

cousinhub29 Messages postés 788 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 14 septembre 2023 358
19 juil. 2022 à 10:04

Bonjour,

Supposant que la date du jour soit dans la cellule A1, version 1 :

=INDEX(DECALER($A:$A;;MOIS($A$1));EQUIV(9^9;DECALER($A:$A;;MOIS($A$1)))-1;1)

S'il n'y a pas de cellules contenant la date du jour, version 2 :

=INDEX(DECALER($A:$A;;MOIS(AUJOURDHUI()));EQUIV(9^9;DECALER($A:$A;;MOIS(AUJOURDHUI())))-1;1)

La fonction décaler te permet de prendre une colonne de référence ($A:$A), puis de décaler cette référence d'un certain nombre de lignes (ici, rien, d'où le ;;), et de colonnes (ici, en prenant en compte le numéro du mois de la date)

Bon courage

0
Mike-31 Messages postés 18235 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 25 septembre 2023 5 067
Modifié le 19 juil. 2022 à 10:17

Bonjour,

en fait il faut remplacer H:H dans ta formule par CHOISIR(MOIS(AUJOURDHUI());"B:B";"C:C";"D:D";"E:E";"F:F";"G:G";"H:H";"I:I";"J:J";"K:K";"L:L";"M:M")

et pour que cette formule soit reconnue par Excel il faut la déclarer en lecture indirecteINDIRECT(CHOISIR(MOIS(AUJOURDHUI());"B:B";"C:C";"D:D";"E:E";"F:F";"G:G";"H:H";"I:I";"J:J";"K:K";"L:L";"M:M"))

ce qui donne en formule terminée 

=INDEX(INDIRECT(CHOISIR(MOIS(AUJOURDHUI());"B:B";"C:C";"D:D";"E:E";"F:F";"G:G";"H:H";"I:I";"J:J";"K:K";"L:L";"M:M"));EQUIV(9^9;INDIRECT(CHOISIR(MOIS(AUJOURDHUI());"B:B";"C:C";"D:D";"E:E";"F:F";"G:G";"H:H";"I:I";"J:J";"K:K";"L:L";"M:M")))-1;1)

Il est possible de faire plus court en identifiant l'index colonne avec CAR(65+MOIS(AUJOURDHUI()))&":"&CAR(65+MOIS(AUJOURDHUI())) 

comme pour la précédente utiliser Indirect INDIRECT(CAR(65+MOIS(AUJOURDHUI()))&":"&CAR(65+MOIS(AUJOURDHUI())))

ce qui donnera en formule achevée 

=INDEX(INDIRECT(CAR(65+MOIS(AUJOURDHUI()))&":"&CAR(65+MOIS(AUJOURDHUI())));EQUIV(9^9;INDIRECT(CAR(65+MOIS(AUJOURDHUI()))&":"&CAR(65+MOIS(AUJOURDHUI()))))-1;1)

il y a encore d'autres possibilités 


A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...

0
mchotard Messages postés 395 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 3 septembre 2023 38
19 juil. 2022 à 11:44

Merci à tous pour votre soutien, j'ai trouvé mon bonheur et je garde précieusement vos différentes solutions.

Bonne journée à tous

mchotard

0