Date: prev next · Thread: first prev next last
2018 Archives by date, by thread · List index


Bonsoir,

Le 09/11/2018 à 18:13, demande_aide_fr@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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.