Calc: remplir une feuille en utilisant d'autres feuilles en cours de frappe

Bonjour,
dans un document calc, j’ai une (actuellement, mais j’aimerais plusieurs pour faciliter la mise à jour, par ex une pour les consommables, une pour le matériel de travail, une autre pour les grosses fournitures… ) feuilles contenant des entrées

|     A     |      B      |      C          |    D    |    E     |  F  |     G       |       H         |          
| catégorie | désignation |  prix public HT |  remise | prix Net | TVA | fournisseur | ref fournisseur |

dans une autre feuille de calcul (pour faire mes devis) je voudrais (si possible lors de la frappe ou via une boite de dialogue et un bouton pour ajouter une entrée) faire l’équivalent d’un (désolé mes souvenir de base de données ont plus de 20 ans :wink: )

FROM   fournisseur  SELECT   lines  WHERE  B match .*typed.*

alors j’ai bien vu Comment utiliser les données d'une autre feuille dans un calcul ? et la vidéo avec la fonction EQUIV et INDEX

le top serait de faire comme la boite de dialogue des autofilters

le cas d’utilisation dans ce cas serait une macro qui s’activerait dès un début de frappe, afficherait la boîte de dialogue, si possible avec l’entrée “Search items” activée (comme cela on peut travailler sans la souris :wink: ) l’utilisateur pourrait ainsi raffiner sa recherche

au terme de la recherche, le ou les index sélectionnés restant serviraient à remplir une plage (ex colonnes G à N) de la feuille de devis par copie (pas de mise à jour dynamique, si je mets à jour les prix par exemple, cela ne doit pas modifier le devis qui a été fait avec certains prix) de la plage A:H de la feuille fournisseur…

autre possibilité : avec un bouton “ajout” qui afficherait la boite de dialogue comme ci dessus

dernière possibilité : lors de la frappe, afficher en dessous une popup avec les différentes entrées qui matchent…

en vous remerciant par avance,

je me réponds vu un début de solution…

sur la page Devis, j’ai mis un Data->Validy->Cell range avec comme plage de données la colonne qui m’intéresse sur l’autre feuille (est-ce possible de définir plusieurs colonnes sur plusieurs pages?) avec “show selection list”

dans la colonne d’à côté j’ai utilisé la formule

=INDEX($consommables.A:$consommables.A;MATCH($A2;$consommables.$B:$consommables.$B;0))

note : la fonction EQUIV n’existe plus à ce qu’il semble, il faut utiliser MATCH
j’ai fixé les variables comme il faut avec le $ (surtout le MATCH) puis j’ai étendu la formule sur la zone qui m’intéresse sur la page

=> cela fonctionne, par contre ce n’est pas de la copie… mais pas très grave pour l’instant
=> il faut par contre appuyer sur V pour permettre d’afficher les valeurs autoriser (si on commence à taper du texte, on peut taper n’importe quoi et lors de la validation, cela râle… cela aurait été bien plus convivial que lors du début de frappe l’affichage de la liste se produise…

=> par contre cela ne conserve pas les hyperliens (dans la colonne référence du fournisseur je mets le lien vers le produit, pour y accéder rapidement)

Bonjour, @laboetie, postez un exemple de fichier, c’est plus facile de donner une suggestion.

bonjour,
j’ai enfin un peu de temps pour avancer ce sujet
voici un exemple de fichier
j’ai deux onglets : “catalogue” et “devis”

je voudrais que dans devis colonne catégorie ne soit proposé que les catégories de la colonne catégorie de la colonne catégorie de la feuille catalogue (from catalogue.catégorie.sort.uniq() (ça j’ai fait en utilisant un data validation dans mon fichier originel )

une fois la catégorie sélectionnée dans la liste, je voudrais que dans la colonne “ref matériel” de la feuille devis, à la même ligne, ne soit affichées que les entrées de la colonne “ref matériel” de la feuille catalogue dont la catégorie est celle sélectionnée précédement (SELECT from catalogue where catégorie is devis.catégorie ) (créer un data validation à la volée en filtrant les lignes de la feuille catalogue)

une fois la ref matériel sélectionnée, les autres colonnes de la feuille devis sont complétées par les valeurs de la ligne sélectionnée dans la feuille catalogue (sauf “quantité” “TVA %” “prix total HT” “prix total TTC”)

Untitled 1.ods (38.6 KB)

Bonjour,

Si j’ai bien compris, dans données>validité,
vous pourriez sélectionner une colonne d’une autre page
et faire un recherchev dans les cellules ou vous voulez récupérer des données, ça me semble plus simple ainsi.

oui, sauf que j’ai plusieurs lignes qui matchent la recherche, je veux donc proposer un choix entre ces lignes

ex
A val1
B val2
A val3
C val4

je veux que si A est entrée dans la cellule colonne1, dans la colonne 2 je n’aie plus que val1 et val3 de possible…