Calculer la prochaine cellule en ajouter x à la position de la ligne

Bonjour,

Je pense que le titre du sujet mérite une explication:

Je cherche à ajouter un nombre fixe de lignes (et toujours le même) à une cellule et que la nouvelle cellule se base sur le calcul de la précédente

Exemple :

En D10, je veux le résultat de 15 ajouté à D9 qui elle même était déjà le résultat de 15 ajouté à D8.

Parce que je saute 15 lignes par 15 lignes d'un autre onglet et la colonne, elle, ne varie pas.

Ou alors ce n'est pas du tout comme cela qu'il faut s'y prendre pour "circuler" dans un fichier.

Merci de votre aide !

Bonjour,

Un mini-exemple serait le bienvenu, je suis désolé mais j'ai du mal à comprendre soit l'objectif/soit le problème.

Ci-après ce que j'ai compris :

Dans une feuille, vous avez une plage, par exemple A1:A10.

Dans une seconde feuille vous avez des valeurs, toutes dans la meme colonne (par exemple D:D), à récupérer. Elles sont espacées de 15 lignes.

En utilisant Documentation/Calc Functions/INDIRECT - The Document Foundation Wiki ou Documentation/Calc Functions/OFFSET - The Document Foundation Wiki, on peut récupérer une cellule à partir de son numéro de ligne.

Par exemple en écrivant en A1

=INDIRECT("'Feuille02'!D" & (15 * (ROW() - 1) +1))

On retrouve la cellule D1 sur la feuille "Feuille02". Attention sur calc suivant les paramètres ce n'est pas forcément la meme "syntaxe" pour la feuille, je vous laisse adapter. cf. Syntax for INDIRECT to access another sheet - English - Ask LibreOffice

Ensuite en étirant en A2, on retrouve D16, puis en A3 → D31, etc.

J'ai mis la formule en anglais, peut etre que c'est "LIGNE()" sur Calc en français, je ne l'ai pas sous la main en ce moment.

Bonjour

Et merci !

Pour l'instant c'est NOK mais vous avez très bien compris

Je cherche car la formule n'est pas en erreur pour autant

Bonjour,

Ok très bien. Alors pour adapter la formule correctement, voici les maths derrière :

(15 * (ROW() - 1) +1)), dans mon exemple est équivalent à :

intervalle * [ (numero_ligne_cellule_active) – numero_ligne_cellule_depart_feuille1 ] + numero_ligne_cellule_depart_feuille2

En gros on cherche à faire une répétition de l'intervalle * la ligne active.

MAIS

Si vous entrez la formule en A10 par exemple.

Vous vous retrouvez avec 15*(10-1) + 1 = 136

Vous comprenez maintenant le "-1" de ma formule initiale : en A1 cela permet de se "remettre à 0". En A10 la formule serait

intervalle * [ (numero_ligne_cellule_active) – 10 ] + 1

On comprend maintenant le "+1" qui permet de se redécaler sur la 1e ligne (de la feuille 2) puisque je voulais retrouver la cellule B1 (et non B0 qui n'existe pas). Si vos données commencent en B13, alors la formule serait

intervalle * [ (numero_ligne_cellule_active) – 10 ] + 13

Voilà, maintenant je vous conseille de rentrer simplement ce bout de formule dans un premier temps et contrôler le numéro de ligne que vous obtenez. Ensuite réintégrez le dans le INDIRECT.

Rechercher des sujets similaires à "calculer prochaine ajouter position ligne"