Nommer colonne

Résolu
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -  
mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   -

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

  1. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    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
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     

    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 


    0
  3. mchotard Messages postés 474 Date d'inscription   Statut Membre Dernière intervention   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