Incrémentation formule avec des Noms de cellule [Résolu/Fermé]

Signaler
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
-
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
-
Bonsoir à tous,

Dans une feuille Excel 2010 j’ai besoin de créer à l’aide de formules un tableau.
J’ai donc :
En A1 : =Titre1
En B1 : =Auteur1
En C1 : =Pays1
Je souhaiterais incrémenter ces trois formules en incrémentant de 1 à 200. Je n’ai pas trouvé la solution. Cela peut se faire par formule ou par VBA.
Je précise que tous les noms sont créés et fonctionnent correctement.
Merci d’avance pour votre aide.
Cordialement
Mistral

22 réponses

Messages postés
12191
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
19 mai 2020
1 852
Bonjour

Pas très compréhensible, poste un exemple de ton fichier sur cjoint.com, fais créer un lien que tu copies et reviens coller ici

Cdlmnt
Via
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 93694 internautes nous ont dit merci ce mois-ci

Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Bonjour,
Comme dit précédemment tu as sûrement pris un mauvais départ en voulant travailler comme ça. Tu compliques tout pour pas grand chose à mon avis.
Ceci dit, en A1 :
=INDIRECT("Titre"&LIGNE())

à tirer vers le bas
eric
En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 93694 internautes nous ont dit merci ce mois-ci

Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Merci pour ta réponse mais je ne peux pas mettre mon classeur en ligne et très compliqué de faire un classeur exemple.
Dans les cellules cidesous je rentre les formules suivantes :
en A1 : =Titre1, en B1 : =Auteur1, en C1 : =Pays1
Je voudrais incrémenter ces formules jusqu'à la ligne 200

Ce qui donnerais :
en A200 : =Titre200, en B200 : =Auteur200, en C200 : =Pays200

Quand j'essaye d'incrémenter la première ligne vers le bas je copie la première ligne mais je n'incrément pas le N° de ligne.

J'espère que c'est plus claire comme ça.
Cordialement
Mistral
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Bonsoir,

pour ton premier titre en A1
="Titre"&LIGNE()
idem pour Auteur et Pays
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Bonsoir Mike,

Merci de me consacrer un peu de ton temps. Je viens d'essayer mais ça ne marche pas.
En rentrant ta formule en A1 j'obtiens "Titre1" et non pas la valeur de la cellule nommée Titre1.

Cordialement
Mistarl
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Re,

Alors je ne comprends pas ta demande
en A1 : =Titre1, en B1 : =Auteur1, en C1 : =Pays1
Je voudrais incrémenter ces formules jusqu'à la ligne 200

Ce qui donnerais :
en A200 : =Titre200, en B200 : =Auteur200, en C200 : =Pays200

si on prend l'exemple en A1 tu veux Titre1 et incrémenter cette formule jusqu'à A200 pour avoir Titre200

si en A1 tu saisis ma formule ="Titre"&LIGNE() tu as bien Titre1 et incrémenté en A100 tu auras Titre100 en A200 tu auras Titre200
maintenant si en A1 tu as le nom d'un titre exemple Dupond1
en A2 tu saisis =GAUCHE(A1;NBCAR(A1)-1)&LIGNE()

si ce n'est pas ça développe ta demande s'il te plait
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Re,

En attendant que tu te manifestes
à tester, en A2 cette formule matricielle qu'il faudra confirmer en cliquant en même temps sur 3 touches du clavier Ctrl, Shift et Entrée et si tu fais bien la formule se placera entre ces accolades {}
=GAUCHE(A1;NBCAR(A1)-NBCAR(STXT(A1;EQUIV(VRAI;ESTNUM(--(STXT(A1;LIGNE($1:$1000);1)));0);99)))&LIGNE()

ou tu as une liste de titre auquel tu veux ajouter un numéro, dans ce cas en VBA

Sub test()
For i = 1 To [A65536].End(xlUp).Row
If Cells(i, 1) <> "" And Not IsNumeric(Right(Cells(i, 1).Value, 1)) Then Cells(i, 1) = Cells(i, 1) & Cells(i, 1).Row
If Cells(i, 2) <> "" And Not IsNumeric(Right(Cells(i, 2).Value, 1)) Then Cells(i, 2) = Cells(i, 1) & Cells(i, 2).Row
If Cells(i, 3) <> "" And Not IsNumeric(Right(Cells(i, 3).Value, 1)) Then Cells(i, 3) = Cells(i, 1) & Cells(i, 3).Row
Next i
End Sub
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Bonjour Mike,

Quand j'écris en A1 : =Titre1 c'est pour récupérer en A1 la valeur de la cellule nommée Titre1. La même chose pour Auteur et Pays.
Si la cellule nommée Titre1 contient "Bonjour" je voudrais que la cellule A1 affiche "Bonjour".

J'ai ainsi plusieurs millier de cellules nommées pour lesquelles je peux être amené à récupérer les valeurs.

Cordialement
Mistral
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Re,

et bien tu as répondu toi même à ta question, si tu as une cellule nommée Titre1 dans laquelle tu as écrit Bonjour, si tu veux récupérer ce Bonjour contenu dans ta cellule nommée Titre1 il te suffit d'écrire dans la cellule de ton choix =Titre1

Mais d'après ce que je comprends tu as des milliers de cellules nommées ce qui me semble énorme et difficile à gérer une bonne base de données bien construite et une formule avec RECHERCHEV ou INDEX(EQUIV devrait nettement être plus simple et efficace mais cela n'engage que moi
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
On va finir par ce comprendre ...

Je suis bien d'accord avec toi sur le principe.
Le problème c'est que je souhaiterais éviter d'écrire 3 ou 4 cent lignes sur trois colonnes, d'où ma question :
comment faire pour incrémenter ma formule de A1 = Titre1 à Axxx = Titrexxx tout en récupérant les bonnes valeurs.

D'avance merci
Cordialement
Mistral
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Merci Eric, c'est parfait.
De quelle façon aurais-je du m'y prendre?
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
sans doute en créant un tableau d'équivalences et en faisant un recherchev() dessus pour ramener la valeur.
Ton aveux de difficulté à créer un fichier de travail montre bien que tu as compliqué le système qui te pousse à faire des acrobaties qui seront de plus en plus compliquées (jugement à valeur limitée puisqu'on ne peut pas voir ton fichier pour confirmer ou non...)
eric
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Je veux bien admettre que je n'ai pas pris mon problème par le bon bout. J'ai probablement atteint mes limites de connaissances en Excel.
Jusqu'à ton message je n'avais jamais entendu parler de tableau d'équivalence. Je connais Recherchev() et je l'utilise fréquemment.
La difficulté à créer un fichier de travail est surtout dû au fait que je ne souhaite pas rendre certaines informations publique. Par contre, pour limiter sa diffusion et si tu le permet je veux bien t'envoyer mon fichier en privé. Dans ce cas dit moi comment faire.
A toi de me dire.
Cordialement
Mistral
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Re,

Tu n'as pas besoin de mettre ton fichier avec des données confidentielles en ligne, par contre tu peux créer un exemple de fichier anonymisé donc avec des données bidons mais qui reflète la structure de ton fichier que l'on puisse adapter et surtout comprendre ta demande
1) Clic sur ce https://www.cjoint.com/
2) Clic sur Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien
4) Un lien en bleu souligné sera généré en haut de page, sélectionne clic droit "Copier"
5) reste plus qu'a le "Coller" dans une réponse avec quelques explications.
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
exactement :-)
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Tu trouveras ci dessous un lien vers ci-joint pour télécharger mon classeur.

https://www.cjoint.com/c/GLupam3vXXc

J'ai mis des explications sur chacun des onglets.
Je suis à ta disposition pour tout autre renseignement
Cordialement
Mistral
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Je pressentais que tu compliquais pour rien mais pas à ce point...
C'est quoi l'intérêt de fusionner 3 lignes et 2 colonnes pour faire 1 cellule ??? Pourquoi pas 60 x 12 ou 128 x 52 ?
Tu ne peux pas jouer sur la hauteur et largeur tout simplement ? On n'arrive même pas à voir sur quelle ligne on est. Bref...

Dans BAG_Médailles_1!B16 :
=RECHERCHEV((COLONNE()-2)/3+(LIGNE()-16)/29*6+1;Médailles!$A:$K;6;FAUX)

en B19 :
=RECHERCHEV((COLONNE()-2)/3+(LIGNE()-19)/29*6+1;Médailles!$A:$K;7;FAUX)

en B22 :
=RECHERCHEV((COLONNE()-2)/3+(LIGNE()-22)/29*6+1;Médailles!$A:$K;8;FAUX)


Tu copie-colles ces 3 cellules dans les autre étiquettes.
Faire pareil pour les autres feuilles.

Tu vois que la formule se sert de :
=RECHERCHEV((COLONNE()-2)/3+(LIGNE()-16)/29*6+1;Médailles!$A:$K;6;FAUX)
la colonne : 2 (B)
l'écartement horizontal entre 2 étiquettes en colonnes : 3
la ligne où elle est : 16
l'écartement vertical entre 2 étiquettes en lignes : 29
le nombre d'étiquettes par ligne : 6
Et le dernier 6 est le n° de la colonne à retourner du tableau Médailles!$A:$K, ici 6=titre
eric
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Bonjour Eric,

Pourquoi j'ai fusionné des lignes et des colonnes? Pour tous les stickers j’avais l’obligation de respecter des dimensions précises. Pour y parvenir j’ai été obligé de modifier le mode d’affichage des onglets pour passer en dimensions métriques. J’ai essayé de doubler ou tripler les largeurs ou hauteur de ligne, mais je ne retombais pas sur un carré parfait, qui me permettait d’inscrire un cercle à l’intérieur. D’où la fusion de certaines lignes ou colonnes.

J’ai nommé mes cellules car cela me permettait de m’y retrouver facilement au milieu de toutes ces infos.

Maintenant que j’ai testé rapidement ce que tu m’as envoyé je reconnais que je me suis compliqué le travail. J’ai testé tes formules et cela fonctionne parfaitement, tout au moins pour les médailles. Il me reste à les adapter pour les autres onglets dont la mise en page est différente.

Grâce à tes explications je pense avoir compris tes formules. Je pense arriver à les adapter mais je ne pourrais le faire dans l’immédiat. Cette après-midi, je m’absente une quinzaine de jours pour les fêtes. Je regarderais ça à mon retour.

Un immense merci à toi pour ton aide. Je laisse le sujet ouvert.
Je te souhaite un Joyeux Noël et de bonnes fêtes de fin d’année.

Cordialement.
Mistral
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Re,

Je viens de refaire un essai, ça fonctionne parfaitement sur la première feuilles des médailles, ou je retrouve les 24 premières médailles.

Mais dès que je change de feuille je retrouve les mêmes médailles. Je recommence à la première et je n'ai pas les suivantes.

Je ne vois pas que paramètre changer dans ta formule.

Mistral
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Bonjour,

avec si peu d'éléments comment veux-tu avoir une réponse adaptée ?
Tu as bien utilisé la bonne feuille de données à la place de Médailles ?
eric
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Excuse moi si je me suis mal exprimé.
Ce que j'ai voulu dire, c'est que les formules fonctionne parfaitement sur le 1er onglet des médailles.
Si j'essaye de faire la même chose sur le 2ème onglet médailles, j'ai exactement le même résultat.

En prenant le classeur que je t'ai envoyé hier comme référence.
Un onglet médaille traite 24 médailles. Sur l'onglet médaille il y a 52 lignes à traiter. Donc il y aura les trois onglets d'utilisés.
Si j'ai bien compris tes formules, elles font référence au N° de ligne sur laquelle la formule est rentrée. Si je répète tes formules sur un autre onglet je redémarre à la 2ème ligne de l'onglet médailles alors que je devrais commencer à la 25ème ligne.
Mistral
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
La formule te fabrique de 1 à 24 selon son emplacement.
Si la feuille suivante doit démarrer à la médaille 25 et bien tu fais =24+la_formule dans la première, que tu copie-colles.
Non ?
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Ca ne fonctionne pas j'obtiens : #Valeur
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Excuse-moi, j'ai répondu un peu vite.
C'est la valeur cherchée qu'il faut augmenter bien sûr :
=RECHERCHEV(24+(COLONNE()-2)/3+(LIGNE()-16)/29*6+1;Médailles!$A:$K;6;FAUX)
eric
Messages postés
17192
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
14 mai 2020
4 049
Bonsoir le fil,
Je découvre le fichier qui confirme la complexité inutile avec cette montagne de plages nommées qui ralenti les mises à jours et qui conforte ce que j'ai écrit sur le post 8 de créer une bonne base de données et des formules relativement simple comme RECHERCHEV qu'Eriiic te propose et que je salue et remercie d'avoir pris le relais parce qu'en cette période de l'année je privilégie les pentes enneigées mais je garde un œil sur les discussions
A+
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Bon schuss veinard ;-)
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Bonjour Eric,

Ce n’est pas grave, ça arrive à tout le monde.
Ceci dit j’ai réussi à rentrer les formules pour les trois ongles «Médailles», mais un modulo de 72 au lieu de 24. Probablement lié à la fusion des lignes.
Conscient de l’usine à gaz que j’ai réalisé, j’envisage de reprendre tout mon classeur en oubliant les noms de cellules et la fusion des lignes et colonnes. Mais pour cela je dois avant tout reprendre la mise en page des onglets.
J’ai donc voulu voir si j’avais bien compris le principe de tes formules et les explications que tu m’as données. Malheureusement je dois avouer que je n’ai pas tout compris.

Dans l’onglet BAG_BestAutor&C.C.
En C28 j’ai rentré : =RECHERCHEV((COLONNE()-3)/9+(LIGNE()-28)/4+1;Spécial!$A:$K;7;FAUX)
Pour cette cellule, cela me donne bien la bonne info, par contre si j’essaye avec la cellule du dessous j’ai : #N/A
Sur ces onglets il y a, seulement, 4 stickers par onglet.

Dans l’onglet BAG_RubanPSA_GPU_IUP_1
En B10 j’ai rentré : =RECHERCHEV((COLONNE()-2)/3+(LIGNE()-10)/16*5+1;Ruban_PSA_GPU_IUP!$A:$K;6;FAUX)
Pour cette cellule, cela me donne bien la bonne info, par contre si j’essaye avec la cellule du dessous j’ai : #N/A
Sur ces onglets il y a 30 stickers , 5 par ligne sur 6 lignes.

Dans les deux cas j’ai la même erreur, preuve de mon ignorance.
Peux-tu m’expliquer ou je me plante.

Cordialement.
Mistral
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
Bonjour,

sans classeur ce n'est pas simple de mettre au point ce style de formule.
Si c'est le même je regarderai un peu plus tard.
##N/A c'est qu'il ne trouve pas le nombre en colonne A de ta base.
Sélectionne (COLONNE()-3)/9+(LIGNE()-28)/4+1 dans la barre de formule et fait F9 pour évaluer sa valeur.
Quitte pas Echap pour ne pas modifier ta formule.
eric
Messages postés
527
Date d'inscription
mardi 5 août 2008
Statut
Membre
Dernière intervention
3 mai 2020
3
Je vais essayer.

Oui c'est le même classeur.

Pas de souci il n'y pas d'urgence.

Mistral
Messages postés
23378
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 mai 2020
6 143
tu avais dit que tu supprimerais les fusions inutiles, tout sera à refaire...