Plages de cellules avec Nom

Fermé
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 - 11 déc. 2017 à 17:14
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 13 déc. 2017 à 07:40
Bonsoir à tous,

J'ai défini des Noms de plages de cellule avec la formule :
=DECALER(Feul1!$A$2;0;0;NBVAL(feuil1!$A2:$A132);10)

Ma formule fonctionne bien, donc ma plage de cellules est dynamique. Tout va bien. Seulement, si je change l'ordre des colonnes dans une feuille, toutes mes plages nommées changent de valeurs, même si elles ne se situent pas sur la feuille où j'ai fait des modifications.

Que faire?
Merci par avance pour votre expertise
Benoit

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié le 11 déc. 2017 à 18:11
Bonjour
ça manque un peu de clarté, là
vous pouvez peut être utiliser une formule à inclure dans le code DECALER pour situer la cellule de référence, par exemple à partir de la position d'un titre de colonne qui, même si la colonne change de place, ne changera pas.
mais pour mieux comprendre et vous aider il faudrait mettre un fichier à disposition ici:
http://mon-partage.fr
et revenir coller le lien créé sur le site
n'oubliez pas d'ajouter si besoin toutes explications utiles
à vous lire
crdlmnt

La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
Benoit_Lyon Messages postés 98 Date d'inscription vendredi 20 janvier 2017 Statut Membre Dernière intervention 13 décembre 2017 1
12 déc. 2017 à 20:53
Bonsoir à tous,

https://mon-partage.fr/f/VdcMlz4w/
Voici le fichier.
L'onglet "Données" sert à saisir les données des participants et le montant de leur cotisation (cotisation sur dix mois/ possibilité de partir ou d'entrer au cours des 10 mois, donc cotisation globale variable). L'onglet "Cotisations" reprend les montants donnés par mois et le reste à donner par participants. L'onglet "Juillet" sert à saisir les montants des cotisations.
Il y a une plage de cellules avec nom (voir gestionnaire de noms) par onglet.
Testez pour voir, hier quand j'apportais une modification (rajout de colonne notamment), mes plages de cellules nommées changeaient de valeurs ...
A vos avis
Merci
Benoit
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié le 13 déc. 2017 à 08:24
Bonjour
  • vous ne dites pas dans quelle feuille et à que endroit vous rajoutez des colonnes pour expliquer votre problème. Pouvez vous préciser?
  • pourquoi utiliser NB.SI qui n'est pas très utile dans la formule nommant la plage de la colonne A de données? 130 ferait aussi bien l'affaire, même en laissant des cellules vides
  • votre formule en, feuille cotisation va chercher dans tous les cas la 10 ° colonne du champ nommé de la feuille mensuelle (largeur 10 à partir de B dans DECALER) . Soit donc la colonne K masquée)

Peut être est ce là le problème de vos décalages:
  • dans ce cas il faut élargir le champ nommé et utiliser EQUIV avec le titre de la colonne àn ressortir dans la ligne 2 de la feuille mensuelle pour définir quelle colonne ressortir
  • par ailleurs votre formule si K est fixe en feuille cotisation pourrait être plus simple en écrivant directement les noms d'onglets mensuels plutôt que les dates dans la liste en M de la feuille données

dans ce cas la formule en cotisation I3 devient:

=SIERREUR(INDEX(INDIRECT(I$2&"!K2;K131") ;EQUIV(C3;INDIRECT(I$2&"!C2:C131";0);"")
attention aux signes
et va s'ajuster à tous les noms d'onglet en ligne 2

___________________________________________________

ou alors en variante:
placer le cumul en colonne masquée en D (qui ne changera pas) plutôt qu'en K et faire le cumul avec cette formule D3

=SOMME.SI($H2$:$Z$é;"Cotisation*";H3:Z3)
qui fera la somme des colonnes dont les titres en ligne 2 commencent par cotisation (attention au signe * au bon endroit)

la formule en I3, de cotisation, avec le code indirect devient:
=SIERREUR(INDEX(INDIRECT(I$2&"!D2;D131") ;EQUIV(C3;INDIRECT(I$2&"!C2:C131";0);"")

et si vous n'utilisez pas indirect il suffira de nommer la colonne de chaque feuille selon simplement D3:D131
______________________________________________________

revenez avec compléments d'info si besoin</bold>

crdlmnt
0