Bonsoir,

Le 09/11/2018 à 18:13, demande_aide...@libreoffice.org a écrit :
OS:: Windows 10
Version:: 6.1.x
Question:: Bonjour,

Voici ma problématique. J'ai un fichier calc dans lequel se trouve deux 
feuilles.
Dans la première feuille j'ai un tableau de 5 colonnes. Les informations que je 
rentre se copie automatiquement dans un autre tableau dans la deuxième feuille.
J'ai créer une macro pour trier toutes les lignes par date dans la première 
feuille.
Mon soucis est que si je change la date d'une ligne dans le premier tableau et 
que j'exécute la macro, la ligne se déplace au bon endroit. Mais dans mon 
deuxième tableau du coup il reprends les données qui se trouve à l'ancien
emplacement de cette fameuse ligne. Logique vu que pour copier les données 
automatiquement j'ai mis cette formule : =$nomdelafeuille.B3 pour l'exemple.
Donc si ma ligne ou se trouve B3 est changé du au faite que sa date change, les 
données ne suivent pas. Par exemple si la ligne passe de 3 à 7 ma formule ne se 
change pas en =$nomdelafeuille.B7 mais reste en =$nomdelafeuille.B3.

J'aurais donc voulu savoir si il y avait un moyen de remédier à cela.

réponse courte : oui.

Réponse plus longue : utilisez ce qui se fait en bases de données, c'est-à-dire des colonnes contenant un identifiant unique (ID).

Dans la feuille1, ajoutez, à gauche (col. A), une colonne d'identifiants (des numéros de 1 à ...) Ces numéros sont arbitraires et n'ont pas d'autre usage que de permettre de repérer une ligne de manière unique.

Dans la feuille2, faites de même (ajoutez les identifiants "en dur", pas de formule "=").

Dans la feuille2, remplacez vos formules "= Ax" par
(exemple pour la ligne 2, colonne B de Feuille2)

= RECHERCHEV(A2;$Feuille1.$A$2:$C$11;2;0)

où :

A2 : la cellule de Feuille2 qui contient l'identifiant

$Feuille1.$A$2:$C$11 : la plage de la feuille1 qui contient les données référencées par Feuille2 (les ID sont en colonne A). Notez les références absolues.

2 : le numéro de la colonne dans la plage, pour laquelle on veut la donnée (donc ici colonne B de Feuille1)

0 : la colonne A de Feuille1 n'est pas triée

Vous pouvez maintenant trier Feuille1 (ou Feuille2 d'ailleurs), en toute quiétude (/!\ les deux colonnes d'identifiants doivent faire partie de la plage triée).



Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse.

Bien cordialement,
--
Jean-Francois Nifenecker, Bordeaux


--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Reply via email to