XL 2016 Créer une ligne si une cellule est rempli

hugod

XLDnaute Nouveau
Bonjour à tous,

Pour commencer je vais vous présenter brièvement mon Excel, la 1ere feuille est la feuille ou je rentre mes données pour quantifier ma quincaillerie, de la feuille BEA à la feuille SPIT, c'est simplement une base de donnée de chacun de mes fournisseurs, et dans la feuille réglage, ce sont mes réglages pour les listes déroulantes.

Voici mes deux problèmes :

Je n'arrive pas à ajouter une ligne si une cellule contient du texte. Dans la feuille "quantitatif", j'ai 4 parties différente, VIS ; BOUONS ; TIREFONDS et DIVERS, et j'aimerais que, par exemple, lorsque la cellule C14 est rempli, une ligne en dessous soit créé, et que sachant que la cellule C14 est une liste déroulante, si je viens a changer le contenu de la cellule C14, que cela ne me créer pas encore une autre ligne comme j'ai pu le voir sur un autre forum.

De plus, si par exemple dans ma cellule C14 est sélectionné ''Vis_Bea", alors dans la cellule D14 apparaitra la liste déroulante des Vis Bea, ce qui est parfait, malheureusement, si dans la cellule C15 je sélectionne cette fois ci les "Vis_Rothoblaas", dans la cellule D15, il apparaitra la liste déroulante qui est reliée à la cellule C14, j'aurais donc dans cet exemple la liste déroulante des vis Bea au lieu des vis Rothoblaas dans la cellule D15.
En clair, la cellule C14 est reliée avec la D14, la cellule C15 est reliée a la cellule D14, la cellule C16 est reliée a la cellule D14 etc...
J'aimerais que ce soit : La cellule C14 est reliée a la cellule D14, la cellule C15 est reliée a la cellule D15, la cellule C16 est reliée a la cellule D16 etc...

A noté que les grandes parties sur la feuille "Quantitatif" : VIS ; BOULONS ; TIREFOND ; DIVERS fonctionnent indépendamment les unes entre elles.

Si quelqu'un a une solution à mes 2 problèmes je suis preneur car je suis arrivé au bout de mes compétences sur Excel :)
 

Pièces jointes

  • Exel quincaillerie.xlsm
    276 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Hello

alors l'idée serait d'utiliser les tables structurées
dans ta feuille Quantitatif: la table (que j'ai créé) s'appelle "t"Data"

dans ta feuille "Réglages", idem, on créé des tables structurées qui contiennent les listes
t_Vis=> données de la colonne A
t_Boulon==> données de la colonne B
...
une nouvelle table "t_TypeProduit" qui liste les différents éléments que tu utilises dans la table "t_Data"

colonne "Type Produit": une liste de validation qui pointe vers "t_TypeProduit"

colonne "Type Fournisseur" ==> la liste de validation dépend de ce qui est selectionné en colonne "Type_Produit"
==> voir formule "indirect" dans "data validation"

pour ta colone Produit, je n'ai rien changé, parce que je n'ai pas compris comment elle devait etre alimentée, en fonction de quoi..

pour l'ajout de ligne: il te suffit de taper l'initiale du type de produit ("V" pour vis par exemple) ==> et automatiquement la table est agrandie, et toutes les formules, MFC et data validation sont recopiées
 

Pièces jointes

  • Exel quincaillerie.xlsm
    278.3 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
Voir en PJ
TOUTES tes feuilles fournisseurs sont sous la forme de tables structurées
le nom de la table dépend
du produit: Vis, Boulon Tirefond ou Divers
et du fournisseur
exemple: la table des vis de chez Pitzl ==> t_Vis_Pitzl

modification des formules dans ta feuille de quantités
 

Pièces jointes

  • Exel quincaillerie.xlsm
    283.5 KB · Affichages: 1

hugod

XLDnaute Nouveau
Alors pour commencer merci pour tout c'est top, mais j'ai fais quelques modification, et je voulais savoir s'il était possible de ne pas nommer "type_fournisseur" mais simplement "fournisseur", malheureusement, de mon coté cette manip je marche pas, je ne peux plus sélectionner de produit et la case référence et quantité ne fonctionne plus.
De plus j'ai ajouté une case livraison pour savoir si mon produit a été livré, (si il est livré, je coche et la ligne se barre, sinon je ne coche pas) mais lorsque j'étire mon tableau, la case à cocher ne suit pas.
bonne journée :)
 

Pièces jointes

  • Quincaill.xlsm
    275.7 KB · Affichages: 2

vgendron

XLDnaute Barbatruc
Hello
si tu modifies des noms de colonnes ou autre, il faut modifier les formules qui s'en servent
c'est le cas dans les validations de données de la colonne "Produits"

explication de la formule
INDIRECT("t_" &B16 &"_" &C16 &"[Article]")

pour la ligne 16: Vis BEA
il faut pointer vers le tableau "t_Vis_BEA"
et préciser la colonne [Article]

pour rappel: les tables structurées ont un nom constitué de 3 éléments
élement1: le préfixe "t_"
élément2: "type"
élément "Fournisseur"
les 2 éléments sont dans les colonne "Type" et "Fournisseur"

le but de la formule c'est donc de construire ce nom de table en concaténant les éléments de la colonne Type et Fournisseur
NomTab="t_" & C16 et "_" &D16 &"[Article]"

dans les données de validaiton, si on pointe vers une table, on est obligé de passer par la fonction indirect

d'ou la formule finale
INDIRECT("t_" &B16 &"_" &C16 &"[Article]")


en ce qui concerne des cases à cocher; il s'agit d'un élément qui ne fait pas partie du tableau: tu l'as juste positionné "au dessus"
==> la case n'est donc pas recopiée pour les nouvelles lignes

au lieu de ca, on peut utiliser l'évènement _change de la feuille pour inscrire (ou supprimer) un "X" dans la colonne quand tu cliques dessus
 

Pièces jointes

  • Quincaill.xlsm
    276.4 KB · Affichages: 1

hugod

XLDnaute Nouveau
Parfait c'est vraiment top
j'ai ce message d'erreur qui apparait tout le temps, je pense que c'est a cause de la macro
Comment est ce que je peux l'enlever?
Et au niveau de la colonne total, lorsque j'étire plusieurs cellules en même temps, ça fais n'importe quoi, ça additionne plusieurs lignes
 

Pièces jointes

  • Capture d'écran 2023-05-03 122257.png
    Capture d'écran 2023-05-03 122257.png
    322.2 KB · Affichages: 14

vgendron

XLDnaute Barbatruc
ta formule total fait la somme sur plusieurs lignes==>
modifie ta formule total sur la première ligne: elle sera correctement recopiée

pour la macro.. laquelle?? moi j'ai pas de message
si tu regardes le fichier que je t'ai posté, j'ai mis en commentaire du code
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16