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