Rechercher : dans
Par :

Excel: Incrémenter feuilles

Dernière réponse le 13 mar 2009 à 18:19:02 whirly, le 10 fév 2009 à 16:53:36 
 Signaler ce message aux modérateurs

Bonjour,

Sur excel je souhaite créer une liste dans la première feuille (exemples: Prénoms de A1 à A50) puis créer 50 feuilles avec dans chaque feuille, un prénom différent.
C'est une sorte d'incrémentation mais via les feuilles.
La contrainte: On doit pouvoir modifier la liste (feuille 1) et que le changement soit pris en compte dans les autres feuilles.

Je laisse ce problème dans vos mains expertes!

Merci merci!

Configuration: Windows XP
Internet Explorer 7.0

1

gbinforme, le 10 fév 2009 à 21:48:27

Bonjour

C'est une sorte d'incrémentation mais via les feuilles.

Peut-être pour toi, mais l'incrémentation ce n'est pas tout à fait cela.

Ce que tu veux faire c'est avoir des onglets dont les noms sont fixés dans une liste et que si tu vires Alain pour prendre Paul, l'onglet Alain s'appelle Paul.

Si c'est bien cela, le problème n'a pas grand chose à voir avec la définition de l'incrémentation.

Dis nous si j'ai compris ton problème et on pourra te donner une macro pour le résoudre.
Toujours zen

Répondre à gbinforme

2

Raymond PENTIER, le 10 fév 2009 à 22:33:07

Bonjour à tous les deux.

Et si par contre ce que tu voulais c'est qu'un prénom différent s'affiche dans la cellule E2 de chaque feuille, il faut
* dans la cellule E2 de la feuille 2 saisir =Feuil1!A1
* dans la cellule E2 de la feuille 3 saisir =Feuil1!A2
* dans la cellule E2 de la feuille 4 saisir =Feuil1!A3 ...

... mais on peut également écrire une macro appropriée, si c'est que tu voulais dire ... C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

3

whirly, le 11 fév 2009 à 16:27:04

Bonjour,

Raymond: C'est exactement ça sauf que j'ai 50 feuilles et un tableau avec plusieurs cellules. Donc j'aimerais en effet une macro qui m'automatise cela.


gbinforme: Ce n'est pas ce que je voulais dire mais c'est aussi quelquechose que je souhaiterais. Il faudrait que les noms des onglets soient en fonction de ma liste.

Merci beaucoup

Répondre à whirly

4

gbinforme, le 11 fév 2009 à 16:36:03

Bonjour

Pourrais-tu nous mettre un exemple sur http://www.cijoint.fr/
et mettre ici le lien généré car avec Raymond nous sommes à des années lumières dans nos hypothèses et comme tu voudrais les 2 cela ne va pas être facile de concilier même si en final nous y parviendrons.
Toujours zen

Répondre à gbinforme

5

whirly, le 11 fév 2009 à 18:24:52

http://www.cijoint.fr/cjlink.php?file=cj200902/cijIiMP0IN.xl­s

Je vous ai mis le tableau en ligne. Par soucis de confidentialité j'ai changé les donnés mais pas la disposition des cellules.
NB: le tableau comporte 7 lignes mais il peut en comporter bien plus.

Merci merci!

Répondre à whirly

6

Raymond PENTIER, le 11 fév 2009 à 22:00:25

whirly, comme tu le sais déjà, j'y connais rien en VBA. Donc, pas de solution macro !

Mais j'ai concocté une petite manipulation qui n'exige qu'une seule chose de ta part : Dans chacune des 50 feuilles, taper un nombre de 6 à 56 dans une case vide (j'ai choisi A1 pour l'exemple) ; et cette petite corvée, je crois savoir qu'il existe une toute petite macro qui sait faire ça ...
Pour la suite, les formules sont ainsi modifiées :
B12 ► =INDEX('Feuil1 '!1:65536;$A$1;2)
B13 ► =INDEX('Feuil1 '!1:65536;$A$1;7)
B14 ► =INDEX('Feuil1 '!1:65536;$A$1;6)
B15 ► =INDEX('Feuil1 '!1:65536;$A$1;1)
C12 ► =INDEX('Feuil1 '!1:65536;$A$1;5)
C12 ► =INDEX('Feuil1 '!1:65536;$A$1;3)
F08 ► =INDEX('Feuil1 '!1:65536;$A$1;8)
... il ne reste qu'à dupliquer 50 fois cette feuille, en mettant chaque fois le nom sur l'onglet et le N° d'ordre en A1. C'est bien, la retraite ! Surtout aux Antilles ... :-)
☻ Raymond ♂

Répondre à Raymond PENTIER

7

whirly, le 12 fév 2009 à 13:53:02

Merci Raymond, ça m'a fait penser à une autre fonction INDEX.EQUIV et ça marche très bien.

Je cherche donc à présent une macro qui puisse me nommer les onglets automatiquement en prenant comme référence une cellule de chaque feuille.

Contrainte: C'est un document type donc le nombre de feuille peut varier en fonction de l'utilisateur. Il est cependant possible en première feuille de marquer le nombre total de feuilles contenues dans le classeur

Merci

Répondre à whirly

8

hich24, le 12 fév 2009 à 14:11:20
Répondre à hich24

9

gbinforme, le 12 fév 2009 à 23:08:44

Bonjour

Voici une proposition utilisant les macros événementielles Change et SelectionChange et une feuille modèle qui peut être cachée, avec DECALER/EQUIV pour récupérer les données en fonction du nom de l'onglet :
http://www.cijoint.fr/cjlink.php?file=cj200902/cijX7JT0gD.xl­s
Toujours zen

Répondre à gbinforme

10

whirly, le 2 mar 2009 à 17:06:04

Merci gbinforme c'est exactement ça!

Seul soucis, ça beugue qd on COLLE le nom prénom...


Merci à tous

Répondre à whirly

11

gbinforme, le 2 mar 2009 à 18:18:30

Bonjour

Seul soucis, ça beugue qd on COLLE le nom prénom...

C'est-à-dire ?

Je ne vois pas ce que tu veux dire ?
Toujours zen

Répondre à gbinforme

12

whirly, le 13 mar 2009 à 00:01:39

Pas de soucis quand on tape le Nom prénom puis qu'on presse Enter.

En revanche, si notre Nom prénom, est dans une liste à part et qu'on fait fait copier/coller ça beugue...

Répondre à whirly

13

gbinforme, le 13 mar 2009 à 08:51:07

Bonjour

ça beugue...

Avec une information aussi précise, j'aurais dû analyser le marc de café ce matin avant de le mettre dans le composteur...
Toujours zen

Répondre à gbinforme

14

whirly, le 13 mar 2009 à 14:25:01

Je pensais être assez précis! Excel plante, c'est à dire que plus aucune commande ne répond et il faut alors le forcer à quitter... C'est systématique, à chaque fois qu'on colle du texte dans la colonne Nom prénom et qu'on presse la touche Enter.

Répondre à whirly

15

 gbinforme, le 13 mar 2009 à 18:19:02

Bonjour

Je ne vois vraiment pas d'où vient ton souci car j'ai essayé avec 2003 et 2007 et le collage de texte et pas de souci.

Peut-être as-tu dans ton collage des caractères interdits dans le nom d'un onglet : line feed ?
Toujours zen

Répondre à gbinforme