Besoin d'aide sur excel

Fermé
Celiamarc - Modifié par LordMacDragus le 30/07/2014 à 00:47
 ayers - 30 juil. 2014 à 02:56
Bonsoir à tous,

Je suis actuellement sur un projet que je dois finir d'ici qlq heures, je suis face à un pb sur excel qui est, j'en suis sûre, tout bête mais que je ne vois pas! Je vous explique:

Je dispose d'un tableau de données de 1000 lignes de la ligne 500 à 1500 et des colonnes À à G.
Je crée un tableau de synthèse dans mes 1ères lignes donc de la ligne 1 à 20.
Dans la cellule A1, je souhaite mettre la valeur de la cellule A500 que je fais (=A500)
Dans la ligne 2, je souhaite mettre la valeur de la cellule A550,
Dans la ligne 3, je souhaite mettre la valeur de la cellule A600,
Et ainsi de suite. Donc à chaque fois je souhaite mettre la valeur de chaque cellule à 50 lignes d'intervalle.

J'ai plusieurs tableaux à faire comme celui ci, est il possible d'utiliser une formule ou macro ou réunion de formules pour cette suite et le faire automatiquement plutôt que de taper chaque cellule une par une?

En vous remerciant par avance

Bonne soirée
A voir également:

1 réponse

Bonsoir,

Je n'ai malheureusement pas Excel sous la main, mais voilà ce que ça donne avec libreoffice calc;

=INDEX(A$1:A$1500,500+(CELL("row",A1)-1)*50,1)


Lien vers l'explication des fonctions:
- CELL: https://help.libreoffice.org/Calc/Information_Functions/fr#CELLULE
- INDEX: https://help.libreoffice.org/Calc/Spreadsheet_Functions/fr#INDEX
(/!\ je ne sais pas si c'est le même bins sur Excel, mais j'utilise les noms des fonctions en Anglais, alors que je te passe la doc pour les fonctions françaises - et oui, si tu changes de paramètres linguistiques, les fonctions ne sont plus reconnues, par exemple ^^)


Le raisonnement:
Tu veux récupérer dans la ligne n de ta colonne X la valeur de la (500+(n-1)*50) ème ligne.
Cette valeur, tu la récupères en indiquant les coordonnées de la case qui t'intéresse dans INDEX
- le premier argument est la zone pour laquelle INDEX va se sentir concerné, soit ici la colonne X entre les lignes 500 et 1500
- le deuxième est la ligne de la case recherchée. Tu peux générer cette ligne par la formule "500+(CELL("row",Xn)-1)*50" où Cell("row", Xn) te permet de récupérer le numéro de la ligne où sera affiché ton résultat
- enfin le troisième argument est la position de la colonne d'intérêt dans la zone spécifiée (ici, on lui donne qu'une seule colonne, cet argument sera donc toujours 1).

En copiant cette formule sur les lignes, la ligne dans CELL s'incrémente automatiquement (on passe de A1 à A2, etc).
De même en copiant sur les colonnes c'est ces dernières qui défilent (on passe de
A$1:A$1500 à B$1:B$1500 et de A1 à B1).
(les "$" permettent de fixer les coordonnées lors d'une copie - "adresse absolue", ainsi la zone pour INDEX en B6 par exemple restera bien B1:B1500, et ne se décalera pas à B6:B15006)


En espérant que des fonctions similaires existent sous Excel et que tu pourras facilement la transcrire ;)
Bon courage
1