Excel: Incrémenter feuilles

Résolu
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
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!
A voir également:

14 réponses

whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
http://www.cijoint.fr/cjlink.php?file=cj200902/cijIiMP0IN.xls

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!
1
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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.
0
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
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 ...
0
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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.
0
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
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
0
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   753
 
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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.xls
0
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci gbinforme c'est exactement ça!

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


Merci à tous
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

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

C'est-à-dire ?

Je ne vois pas ce que tu veux dire ?
0
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
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...
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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...
0
whirly Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   2
 
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.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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 ?
0
Raymond PENTIER Messages postés 58991 Date d'inscription   Statut Contributeur Dernière intervention   17 355
 
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.
-1