Remplissage automatique de cellules à partir d'une cellule (Macro ?)

Bonjour à tous !

Alors voilà mon petit problème, j'aimerai pourvoir mettre des "Standards" dans mon outil qui permettront de remplir automatiquement les autres cellules (Modèle, Variantes, Options) Et je ne sais pas s'il faut que j'utilise juste des formules ou une macro sachant que les cellules ont toutes des listes déroulantes. Et cela tout en pouvant remplir manuellement les cellules (Modèle, Variantes, Options) si le modèle de voiture n'est pas un standard.

Je vous mets ci-joint un fichier pour une meilleure compréhension.

Les références de 001 à 006 sont des standards (donc voulant être afficher automatiquement après avoir sélectionner le standard) et la référence 007 qui elle est saisie manuellement car non standard.

Merci d'avance pour votre aide la communauté

45demo-outil-1.xlsx (37.68 Ko)

Bonjour,

Un test sans VBA en renvoyant la valeur de la référence dans une table de l'onglet Param pour récupérer la valeur correspondante par défaut :

=SIERREUR(RECHERCHEV($D8;STD;COLONNE(E:E)-3;FAUX);"")

La liste de validation est modifiable et viendra écraser la formule par la valeur de la liste. J'ai laissé encore plus libre en changeant le paramètre de cette liste en information au lieu d'erreur. Donc l'utilisateur peut modifier la liste s'il le souhaite. Si vous souhaitez revenir à l'état initial et ne vous limiter qu'à la liste, reprenez les liste et sous Validation des données > Alerte d'erreur > Style > Stop.

Cdlt,

Re bonjour,

Merci pour votre réponse si rapide

Mais je crois que me suis mal exprimé (pardon), j'aimerai que pour n'importe quelle cellule dans la colonne Standard, il puisse s'afficher les autres cellules (Modèles, Variantes, Options)

Exemple : Dans la feuille Calcul, cliquer sur Renault (ou un autre standard) dans la colonne Standard afin de voir apparaitre automatiquement Renault <= 2m Rouge Diesel Cuir

et cela dans n'importe quelle cellule de la colonne Standard

RéférenceStandardModèleVariantes
GammeLong.CarrosserieMoteurSol
001RenaultRenault<= 2mRougeDieselcuir
002RenaultRenault<= 2mRougeDieselcuir
003RenaultRenault<= 2mRougeDieselcuir
004SportPeugeot<= 2mRougeEssencecuir
005SportPeugeot<= 2mRougeEssencecuir
006SportPeugeot<= 2mRougeEssencecuir

Cdt :)

Bonjour,

Même principe avec une colonne en moins. Par contre si vous vous retrouvez dans l'hypothèse absurde avec des doublons de standards, par exemple deux standards Renault, ce sera toujours le premier standard Renault de la feuille Paramètre qui ressortira. Donc veillez à ne pas avoir de doublon de standards.

Cdlt,

Ps : J'ai laissé le choix de la liste de validation en information, au cas où l'on voudrait une option en plus du standard .. Je ne sais pas trop à quel cas vous pourriez être confronté. Si besoin de modifier, dites moi.

Nickel, je ferai attention.

En tout cas, merci beaucoup pour votre précieuse aide !

Juste une petite chose, pourquoi les quantités ne s'affiche pas, s'il vous plaît ?

Bonjour,

Désolé erreur de ma part. Sur le format de toutes les cellules de votre tableau utilisez le format personnalisé suivant : 0;;

Cdlt,

Merci Ergotamine :)

Ps : si vous le voulez bien et quand vous aurez le temps, serait-il possible d'avoir une solution via vba (pour mon apprentissage personnel) ?

Si ce n'est pas possible, ce n'est pas grave , en tout cas, je vous remercie grandement

Bonjour,

Je dirais ainsi avec le module dans le code VBA de la feuille d'intérêt :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim REF As Range
If Not Application.Intersect(Target, [E8:E17]) Is Nothing Then 'Si la cellule changée est dans la plage E8:E17
    Set REF = Worksheets("Param").ListObjects("STD").ListColumns(1).DataBodyRange.Find(Target) 'Recherche le standard dans mon tableau STD
    If Not REF Is Nothing Then 'Si REF n'est pas rien (donc standard trouvé)
        Worksheets("Param").Range(REF.Address).Offset(0, 1).Resize(1, 17).Copy 'Décaler à partir du standard trouvé de 1 colonne et copier les 17 colonnes suivantes (jusqu'à la fin du tableau)
        Target.Offset(0, 1).PasteSpecial xlPasteValues 'Coller en valeur à droite de la target
        Else 'Sinon
        MsgBox "Standard non trouvé" 'MsgBox non bloquant de standard non trouvé
    End If
Target.Select 'Selectionner la target
End If
End Sub

Et le fichier joint pour vérification.

Cdlt,

Rechercher des sujets similaires à "remplissage automatique partir macro"