Excel incrementation de cellule

Fermé
R3iD0r - 9 mars 2009 à 15:22
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 11 mars 2009 à 12:31
Bonjour,

J'ai récupéré un gros fichier excel que je dois modifier.
Dans ce fichier il y a plusieurs colonnes, plusieurs lignes ( plus de 3000), et plusieurs pages (ou onglets comme vous voulez en fait parce que je ne suis pas un gros adepte de excel).
Donc dans une des cases, le résultat que je veux avoir provient de la fonction : ='XXX'!$C$YYY
ce qui revient à m'écrire toto 01 par exemple comme résultat.
Le problème que je ne sais pas régler est que je voudrais avoir pour les autres lignes la même fonction, mais avec le XXX qui s'incrémente.

Exemple de ce que je voudrais:

='XXX'!$C$YYY toto01 ='20'!$C$123
='XXX'!$C$YYY+1 toto02 ='20'!$C$124
='XXX'!$C$YYY+2 toto03 ='20'!$C$125
...
='XXX+1'!$C$YYY toto04 ='21'!$C$123
='XXX+1'!$C$YYY+2 toto05 ='21'!$C$124
='XXX+1'!$C$YYY+5 toto06 ='21'!$C$125
...
='XXX+2'!$C$YYY toto07 ='22'!$C$123
='XXX+2'!$C$YYY+2 toto08 ='22'!$C$124
='XXX+2'!$C$YYY+5 toto09 ='22'!$C$125

J ne sais pas si c'est assez clair et excusez moi si ça ne l'est pas.

Cordialement,
R3iD0r

9 réponses

xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
10 mars 2009 à 17:36
Sans fichier voilà ce que je comprends :

je voudrais avoir pour les autres lignes la même fonction, mais avec le XXX qui s'incrémente.
seulement quand je change de client
donc tu dois avoir un SI dans ta formule
='XXX'!$C$YYY
SI client est identique c'est ta formule
si le client est différent c'est la formule à Eriiic qui faut appliquer

1
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
10 mars 2009 à 19:02
Bonsoir,

qcq chose comme ça ?

un tit coucou à xkristi au passage... ;-)

eric
1
Mike-31 Messages postés 18384 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 9 avril 2025 5 127
9 mars 2009 à 16:24
Salut,

Avec des xxxxxxxxxx difficile de comprendre ou de répondre que par des xxxx

Dans un prochain post copies une formule complète

A+
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
9 mars 2009 à 21:47
Bonsoir,

allez, je tente quand même...
enlève le $ qui fixe ta référence de ligne (='20'!$C$123) =>
='20'!$C123
et fais une recopie incrémentée vers le bas en tirant sur le petit carré en bas à droite de ta cellule.

eric
0

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

Posez votre question
merci eric!
Cependant c'était seulement presque ça.
Ta technique marche presque mais ça me donne des autres données. en tout cas bien joué quand même.
Bref, donc comme je disais, j'ai 10 onglets.
Dans mon onglet 1 qui est un récapitulatif j'ai plusieurs lignes qui corresponde au même client.
exemple:

client 3
='XXX'!$C$YYY reponse1
='3'!$C$12 reponse2
='3'!$C$15 reponse3
...
client 4
='4'!$C$10 reponse 1
='4'!$C$12 reponse2
='4'!$C$15 reponse 3
...
client 5
='5'!$C$10 reponse1
='5'!$C$12 reponse2
='5'!$C$15 reponse3
...

les valeurs YYY sont des lignes dans les onglets des clients. Elles sont toutes identiques c'est pour ça que je les aies remises à chaque fois.
Tout ceci n'est qu'un exemple, car en réalité g bcp plus de clients, et 100 fois plus de lignes.
Le but de mon post est donc comment à partir de cet onglet ou j'ai le récapitulatif, je peux incrémenter ma variables XXX et que le reste soit toujours pareil.
Merci encore.
R3iD0r
0
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
10 mars 2009 à 16:52
'jour !

à quoi correspond ta variable xxxx
peux-tu mettre un bout de ton fichier sur https://www.cjoint.com/
parcourir où se trouve ton fichier
créer le lien
et nous donner ici le lien (copié collé)
enlève les données confidentielles

on verra mieux ce que tu veux
0
La variable XXX représente le nombre de client.
Mon exemple est quasi identique à mon fichier, donc pas besoin de l'envoyer.
J'ai toute une masse de client. Ma fonction indique le numero de la fiche (XXX soit aussi le client), puis YYY le numéro de ligne dans la fiche du client.
Donc j'ai par exemple 15 informations à prendre sur le client 12, puis 15 info sur le client 13 etc etc...et donc je voudrais incrémenté uniquement la variable client (XXX).
0
Mike-31 Messages postés 18384 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 9 avril 2025 5 127
10 mars 2009 à 17:42
Salut,

Cela serait plus facile avec un exemple concret de fichier qui est demandé, Ma boule de cristal n'arrive pas à faire la lumière dans cette forêt de xxxxx

A+
0
Bonjour,

merci eriic.
Encore une fois c'est presque ça, mais ça ce rapproche vraiment.
Le fichier que tu as fais est bien. J'ai bien différents onglets comportant des résultats.
Et ma fonction va bien chercher le résultat sur la page du client.
Mais il me semble que c'est plus simple..( hum à voir)
En fait, dans ma page de récapitulatif j'ai par exemple 20 lignes par rapport au client 63.
Ma fonction qui est ='63'!$C$108 va donc chercher sur l'onglet 63 la ligne 108 et copier le résultat.
La ligne suivante sera par exemple ='63'!$C$152.
Puis ='63'!$C$222 et ainsi de suite.

Puis viendra le client 64. Donc on recommence à prendre les même lignes que pour le 63 soit 108, 152, 222 etc etc mais sur l'onglet 64.

Donc mon problème (toujours le même), C'est que pour chaque client j'ai beaucoup de lignes. Et je ne veux pas changer à la main le changement de client soit de 63 à 64 et 65 puis 66 etc etc. Les résultats qu'il va allé copier seront toujours sur les ligne 108, 152, 222 etc. C'est juste le numéro de client (d'onglet) que je souhaite changer.

Compréhensible?

Merci encore.
R3iD0r
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
11 mars 2009 à 12:31
Bonjour,

Je t'ai livré le principe. Tu ne peux pas incrémenter automatiquement le nom de l'onglet, tu es obligé de passer par indirect() et donc inscrire le nom de l'onglet dans une cellule. C'est ça ou éditer toutes les formules une par une.
Si tu veux te fabriquer ces nombres (noms d'onglet) et que tu as 8 données par client par exemple, tu peux saisir en A2: =ENT((LIGNE()+6)/8) et recopier vers le bas. Tu auras 8 1, puis 8 2 etc

Et si tu ne veux pas inscrire la ref de la cellule à ramener dans une colonne dédiée et bien incrit la en dur dans tes formules (mais la mise à jour sera moins simple en cas d'évolution de tes tableaux, et tu peux masquer ces colonnes).
Par exemple : =INDIRECT("'" &A2 & "'!C2") au lieu de =INDIRECT("'" &A2 & "'!"&B2) pour la série de 8 formules.
Tu sélectionnes la plage et tu fais une recopie incrémentée vers le bas.

eric
0