incrémentation d'une formule nommée

  • Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

andré

XLDnaute Barbatruc
Bonjour à vous tous,

Comment écrire une formule nommée, dont le dernier caractère est un chiffre, de façon à incrémenter celui-ci lors d'une copie vers la droite ?

Peut-être un peu nébuleux ?
La pièce jointe vous montre ce que j'essaie de faire, sans y parvenir.

Ândré.

[file name=IncrementationFormuleNommeeV1.zip size=3049]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/IncrementationFormuleNommeeV1.zip[/file]
 
SAlut André,

La fonction INDIRECT devrait pouvoir te rendre service.

ex :

=INDIRECT('SUB0'&COLONNE()-2)

Si COLONNE() = 3

la formule te donnera l'équivalent de : sub01


J'espère que cela répond à ta question.

Bonne journée.
 
Salut Tibo,

As-tu essayé ? Probablement non !

Me connaissant quelque peu, tu dois bien te douter que j'y avais songé avant de poser la question, même en tapant sub0 dans une autre cellule et en me référant à cette celle-ci.
Toujours la même réponse : #REF!

Par contre, je crois aussi qu'il faut faire précéder la concaténation d'une fonction qui dit que c'est une formule, mais je ne trouve pas laquelle !
J'en ai essayé beaucoup, mais sans la trouver.

Merci quand même.
Ândré.
 
Re salut André,

J'avais bien fait un essai avec ton fichier.

Le problème, c'est que le nom trouvé (sub07) n'existait pas.

Il faut que le résultat donné par INDIRECT corresponde, dans le cas présent, à un nom qui existe.

Si tu nommes les cellules x, y z... sub01, sub02, sub03 etc, la formule INDIRECT que j'ai proposé fonctionne.

Enfin, je crois.

A bientôt
 
Resalut,

Effectivement, lorsque tu nommes une cellule, INDIRECT(concaténation) renvoit bien la valeur se trouvant dans cette cellule.

Mais lorsque tu nommes une formule, ce n'est plus le cas.

Dans l'exemple que j'ai joint, en C19 j'obtiens bien le nom de la formule nommée, alors que c'est son résultat que je voudrais.
En employant INDIRECT(), j'ai un message d'erreur.

Essaie en C19 de faire afficher 'ttrper' par une formule concaténée, moi je n'obtiens que 'sub01' !
C'est là qu'il y a un problème.

Ândré.
 
Salut André


après plusieurs essais, je ne penses pas que ce soit possible. Car nommer une formule ou une cellule c'est dans le but de figer la chose.
Si le nom pouvait s'incrémenter il y aurait un risque d'erreur.

De plus les noms n'acceptent pas les espaces donc pas d'incrémentation possible.
si tu pouvais nommer ta formule sub 01 il y aurait sans doute une possibilité.


Enfin les formules nommées c'est super et ça simplifie la lecture des formules à rallonges.

Cordialement
 
Re re salut André,

Effectivement, ton problème n'est pas simple.

J'ai pensé à un truc : insérer la fonction INDIRECT directement dans la formule nommée. J'ai fait quelques essais, mais sans succès (pour l'instant).

Il se peut, André, que l'on touche là aux limites d'Excel.

Mais qui sait...

Les limites sont faites pour être repoussées.

A bientôt
 
Bonjour

Une solution tirer par les cheveux

Nommée une autre formule 'sub04' avec cette formule
=SUBSTITUE(CHOISIR(COLONNE(Feuil1!C19)-2;Feuil1!$A19;sub01;sub02;sub03);Feuil1!B19;'')

et mettre dans chaque cellule, la même formule
=GAUCHE(sub04)

Cette solution n'est pas très compliquée pour 4 éléments, mais pour 26 caractères, c'est une autre paire de manches...

@+Jean-Marie
 
Salut JeanMarie,

C'est effectivement une façon de faire.

Mais moi, j'essaie de me simplifier la vie.
De là l'idée d'incrémenter la formule.
Si c'est pour écrire d'autres formules, tant de copier la formule existante et de l'adapter en modifiant le 1 en 2, 3, 4, ...
Je crois que cela ira plus vite.

Merci quand même, peut-être que ton idée me permettra de trouver d'autres pistes de recherche.

Ândré
 
Bonjour André, dg62, Tibo, Jean-Marie,

Une solution au problème avec une macro complémentaire à télécharger:

Adresse du téléchargement : Ce lien n'existe plus
nom de la macro: morefun.xll

Outre quelques fonctions très pratiques, cette macro intègre la fonction EVAL qui permet d'évaluer une expression donnée sous forme de texte.

Dans ton exemple:

=GAUCHE(EVAL('sub0'&COLONNE()-2))

Donne un résultat correct et se recopie à droite sans problème.

@+

Gael
 
Bonjour

en parallèle du forum MPFE

pour la liste sans doublon des lettres d'un mot (nommer la cellule 'mot')

en matricielle :

=INDEX(STXT(mot;LIGNE(INDIRECT('1:'&NBCAR(mot)));1);PETITE.VALEUR(SI(EQUIV(STXT(mot;LIGNE(INDIRECT('1:'&NBCAR(mot)));1);STXT(mot;LIGNE(INDIRECT('1:'&NBCAR(mot)));1)😉<>LIGNE(INDIRECT('1:'&NBCAR(mot)));'';EQUIV(STXT(mot;LIGNE(INDIRECT('1:'&NBCAR(mot)));1);STXT(mot;LIGNE(INDIRECT('1:'&NBCAR(mot)));1)😉);LIGNE(INDIRECT('1:'&NBCAR(mot)))))

sur le nombre de lignes suffisant.


sinon en nommant plage1 A1:A3, plage 2, B1:B3, plage 3, C1:C3, la fonction =SOMME(INDIRECT('plage'&COLONNE())) donne le résultat souhaité.

faut croire que EVAL est necessaire pour évaluer les fonctions nommées.

Stéphane
 
Salut à vous,

Effectivement, c'est la fonction Eval qu'il me fallait !
Merci Gael.

Et hops, j'ai un ensemble de nouvelles fonctions que je me dois d'étudier dans les plus brefs délais (heureusement qu'il n'y a pas de foorball à télé pour le moment - lol).

Quant à la formule de Stéphane, je l'enregistre.
C'est une excellente variante à la procédure (je tiens au chaud comme dit ...), mais pas une réponse à ma question.
Mais c'est toujours cela de pris sur l'ennemi.
Merci aussi.

Bonne soirée.
Ândré.
 
Bonjour Ândré

qu'entends tu par :
> Mais c'est toujours cela de pris sur l'ennemi

??

Je propose une formule qui j'en avais bien conscience ne répondait pas aux besoins exprimés (incrémentation formule nommée), mais au problème de liste sans doublon des lettres d'un mot.

Cette formule est dérivée de ce que je connais sur Excel appris sur Internet en général (sites, forum...) et de mon expérience personnelle. J'ai juste passé 30 mn de mon temps pour l'adapter (elle n'est pas encore parfaite !)

Tu utilises le terme 'ennemi' (e-n-m-i résultat de ta formule), y aurait-il une rivalité entre 2 forums (Ân)dré ? La j'aimerai être mis au courant - M$/indépendant ?, conflit ancien ? - je suis encore béotien sur les forums et n'en connaît pas toutes les subtilités ni les historiques. Je profite juste de mon temps pour rendre service en répondant aux problèmes des autres.

De plus, le principe des forums étant l'entraide et la 'publicité' (caractère public), il n'y a rien a caché, le 'toujours cela' m'étonne donc.

Il y a encore beaucoup à apprendre et non à prendre.

Voilà, j'aimerai donc en savoir plus.

Stéphane (pas encarté et sans rancune)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

A
  • Question Question
Réponses
2
Affichages
2 K
adeline
A
O
Réponses
7
Affichages
2 K
M
Réponses
2
Affichages
2 K
max47
M
J
  • Question Question
Réponses
4
Affichages
1 K
J
L
Réponses
4
Affichages
2 K
Laydie
L
P
Réponses
1
Affichages
2 K
Pierrot93
P
D
  • Question Question
Réponses
6
Affichages
2 K
E
  • Question Question
Réponses
3
Affichages
1 K
etudiant72
E
J
Réponses
6
Affichages
38 K
J
B
Réponses
6
Affichages
2 K
Bertrand
B
C
Réponses
7
Affichages
1 K
Christelle
C
R
Réponses
4
Affichages
6 K
rahan974
R
P
Réponses
18
Affichages
4 K
P
Retour