Nommage dynamique de plage (Fonction DECALER dans gestionnaire de noms)

choup67

XLDnaute Occasionnel
Bonjour à tous,

J'ai réalisé sous excel un tableau de bord avec des formules qui se mettent à jour de façon dynamique.

Pour cela, j'ai utilisé le gestionnaire de nom afin de nommer des plages de cellules dans mes différents fichier. Jusqu'à présent, je nommais des colonnes entières mais quelqu'un du forum m'a fait comprendre que c'est une chose qu'il faut éviter de faire. Et je viens de m'en rendre compte car les calculs sont très longs. Je voudrais donc optimiser mon fichier.

Il m'a donné la formule suivante pour nommer mes plages dans le gestionnaire de noms, cependant, quand je l'utilise, mes formules ne fonctionnent plus. Il semble qu'excel n'arrive pas à trouver la plage de données nommées.

Fonction DECALER :
Code:
=DECALER('21'!$S$1;1;;NBVAL('21'!$A:$A)-1)

Voici un exemple d'une formule qui marche très bien avec un nommage des colonnes entières mais qui ne marche plus quand je veux utiliser DECALER :
Code:
=SOMMEPROD(((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Magasin")="UP3")*(((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Pays"))=" FR")+((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Pays"))=" DE")+((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Pays"))=" BE")+((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Pays"))=" NL")+((INDIRECT("'["&$A$9&".xls]"&JOUR(H86)&"'!Pays"))=" LU"))))

Quelqu'un aurais une idée?

Merci pour votre aide.
 

tdenfert

XLDnaute Impliqué
Re : Nommage dynamique de plage (Fonction DECALER dans gestionnaire de noms)

Bonjour,

=DECALER(Feuil1!$A$1;1;0;NBVAL(Feuil1!$A:$A)-1;1)

pour que cette formule donne le résultat attendu le titre est en a1lma première donnée est en a2 toutes les données sont à la suite sans cellule vide.
si tu mettais un bout de fichier on pourrait t'aider à adapter la formule

Nb si tu as des colonnes avec des trous tu peux comper la hauteur de la plages sur une colonnes voisines (sans trou) exemple pour une plage en colonne C ou colonne A:A est sans trou
=DECALER(Feuil1!$C$1;1;0;NBVAL(Feuil1!$A:$A)-1;1)
 
Dernière édition:

Kiseki

XLDnaute Occasionnel
Re : Nommage dynamique de plage (Fonction DECALER dans gestionnaire de noms)

Code:
=DECALER(Cellule de départ;Décalage bas;Droite;hauteur;largeur)

=DECALER($A$9;1;;NBVAL($A:$A)-1)

Les fonctions Recherche et Matrices : DECALER - Bureautique > EXCEL : Les fonctions utiles - Fiches Pratiques : Astuces-Internet


Cellule de départ ce représente souvent comme en-tête, un décalage pour commencer juste en-dessous et une hauteur de la taille du nombre de case non vide -1 (en-tête) de la colonne.


Remplace juste la formule de tes noms.


Un des avantages est aussi une insertion de ligne en début ou fin qui sera prise en compte, un simple nom ne les prendras en compte que si l'insertion est en intérieur.
 
Dernière édition:

choup67

XLDnaute Occasionnel
Re : Nommage dynamique de plage (Fonction DECALER dans gestionnaire de noms)

Il n'y a pas de cellule vide dans ma colonne A. En fait, DECALER marche très bien tout seul, mais en faisant des recherches sur le net, je me suis rendue compte que beaucoup de personnes rencontrent des problèmes en voulant l'associer avec une formule INDIRECT.

Les solutions que j'ai trouvé concernent des listes de validation, or ce n'est pas mon cas.

J'aimerai donc savoir comment conjuguer l'utilisation de DECALER dans le gestionnaire de nom, avec une formule y faisant appel et contenant la fonction INDIRECT ?
 

tdenfert

XLDnaute Impliqué
Re : Nommage dynamique de plage (Fonction DECALER dans gestionnaire de noms)

Bonjour,

Pour te comprendre le mieux serai que tu mettes un bout de fichier et que tu nous expliques ce que tu veux faire.
les indirect que tu utilises dans ton premier post semble dynamique d'une manière très différentes que ce qui vient d'être proposé .
Sinon regarde ce lien
http://boisgontierjacques.free.fr/fichiers/jb-Decaler.xls
 

Discussions similaires

Statistiques des forums

Discussions
313 320
Messages
2 097 137
Membres
106 848
dernier inscrit
toufk