![]() |
|
Forum
|
|
|
#1 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 4 966
|
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] |
|
|
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 914
|
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.
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#3 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 4 966
|
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é. |
|
|
|
|
|
#4 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 914
|
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
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 4 966
|
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é. |
|
|
|
|
|
#6 (permalink) |
|
XLDnaute Accro
|
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
__________________
@+ ![]()
|
|
|
|
|
|
#7 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: mars 2005
Localisation: Maubeuge
Version Excel : Excel 2000 (PC)
Messages: 6 914
|
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
__________________
Ne jamais hésiter à utiliser la recherche sur le Forum, beaucoup de réponses s'y trouvent Amitiés XldiennesXLD vous a aidé, n'hésitez pas à aider XLD |
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Localisation: montbéliard
Version Excel : Excel 2004 (MAC)
Messages: 2 769
|
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 |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 4 966
|
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é |
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Accro
Date d'inscription: mai 2005
Localisation: Inzinzac-Lochrist
Version Excel : Excel 2000 (PC)
Messages: 1 813
|
Bonjour André, dg62, Tibo, Jean-Marie,
Une solution au problème avec une macro complémentaire à télécharger: Adresse du téléchargement : http://xcell05.free.fr/index.html 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 |
|
|
|
|
|
#12 (permalink) |
|
Guest
Messages: n/a
|
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:'&N BCAR(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 |
|
|
|
#14 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 4 966
|
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é. |
|
|
|
|
|
#15 (permalink) |
|
Guest
Messages: n/a
|
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) |
|
|
| ANNONCES | |
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|