Verrouiller une ligne en fonction d'une valeur de liste déroulante

Bonjour à tous,

Tout d'abord je précise que j'ai trouvé sur le forum des sujets similaires au mien mais pas la réponse que je cherche malheureusement, bien qu'approchante je l'avoue.

Suite à l'aide apportée sur ce même forum, j'arrive avec un fichier excel et une macro qui permette de sélectionner des valeurs de note (colonnes) pour chaque critère (ou ligne). Ce qui donne un résultat assujetti à une pondération (propre à chaque critère) en fonction de la note choisie.

Jusque là c'est un gros merci à ceux qui m'ont aidé pour le faire.

Je pensais y arriver seul pour ce qui concerne le verrouillage de certains critères en fonction du choix d'un poste (liste déroulante), mais ça semble plus compliqué qu'il n'y paraît finalement, pour moi en tout cas.

Exemple :

Le poste de PAD (préposé aux donateurs) n'est pas concerné par le critère du Sell Thru.

Mais le poste de Monteur lui l'est.

L'évaluateur doit choisir avant tout le poste qu'il souhaite évaluer et je souhaite que ce choix de poste influe sur le verrouillage ou non de telle ou telle ligne.

Je vous mets le fichier ici (mot de passe : laurent)

J'ai tenté des mises en forme conditionnelles mais je suis vite limité par les opérations et je ne maîtrise pas très bien le langage de formule et encore moins celui du vba...

Mais ayant déjà une macro en cours d'exécution sur le fichier, je ne vois pas comment l'inclure.

je vous mets ici la macro du fichier

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim i, ii
If Target.Columns.Count = 1 Then
i = Target.Row
ii = Target.Value
Set Notes = Range("E14:I28") ' plage où les notes existent
    CouleurVerte = vbGreen
    CouleurBlanche = vbWhite
    If Not Application.Intersect(Notes, Target) Is Nothing Then
        Cancel = True
        ActiveSheet.Protect Password:="laurent", UserInterfaceOnly:=True
        With Target
            If .Interior.Color = CouleurBlanche Then
                Range("E" & i & ":I" & i).Interior.Color = CouleurBlanche
                .Interior.Color = CouleurVerte
                Range("J" & i).Formula = "= " & ii & "*" & " D" & i & " /5"
            Else
                .Interior.Color = CouleurBlanche
                Range("J" & i).Value = ""
            End If
        End With
        Range("C6").Select
    End If
    End If
End Sub

Merci d'avance pour votre aide

Bonne journée

Laurent.

Bonjour,

Une solution consiste à utiliser une grille de validité pour identifier les critères modifiables pour chacun des postes.

Cette grille est consultée à chaque modification du poste (cellule C2) par la procédure Worksheet.Change.

Cordialement.

Bonjour,

La solution de gyrus amène certainement un élément de réponse, toutefois j'y apporte 2 ou 3 bémols (pas à cette solution) mais à la conception du problème !

Il conviendra de passer par un RAZ (remise à zéro et à blanc) de la grille de notation lors d'un changement dans la partie haute du questionnaire.

A ce sujet il me semble un peu curieux qu'autant de champs soient proposés dans cette partie haute :

En bonne logique, il serait souhaitable que le seul changement de nom de l'employé fasse le RAZ et remplisse tous les autres champs... (sinon tu introduis des risques d'incohérence à différents niveaux...

Solution suggérée : partir d'une BD et remplir les différents champs par RECHERCHEV à partir du nom de l'employé.

Modifier la grille d'évaluation en n'attribuant qu'une partie des questions selon les postes modifie également le seuil atteignable des résultats ainsi si on ne prend que l'exemple du monteur l'ensemble de l'évaluation portera sur 100 % des critères existants mais seulement 95 % des critères atteignables.

Solution envisagée :

Quand un critère n'est pas concerné c'est pas un verrouillage qu'il faut mais effacer toutes la zone de notes concerné de D à I et masquer toute la ligne.

la zone D29:I29 devrait être masquée.

Et la colonne J devrait être recalculée en fonction de la somme des critères atteignables. C'est à dire qu'un monteur doit pouvoir obtenir 100 % des 95 possibles.

Là encore je revient à mon idée première : mettre les résultats en dur dans cette colonne J : la formule n'apportant aucun plus.

A+

Bonjour galopin01,

En fait je comprends parfaitement ce que tu entends par associer un employés avec un poste, ce qui, je te l'accord sans réserve, serait d'une plus grande facilité.

MAIS, la vie étant ce qu'elle est...

Notre base de donnée d'employés ne peut pas être statique dans un tel fichier isolé car les postes des employés peuvent changer, il peut y avoir des transferts d'employés entre magasin parfois et nous avons un certain taux de roulement donc l'aspect actif/inactif va jouer aussi.

Ceci imposerait donc notre logiciel de gestion d'employé à réaliser une exportation en csv qui pourrait être récupéré par ce formulaire.

C'est une idée intéressante.

Je vais quand même tenter de creuser dans ce sens... sait-on jamais... .

Mais dans l'attente je vais mettre le focus sur ce que j'ai actuellement, je ne peux pas associer un employé à un poste en particulier et donc partir de ça pour construire mes conditions de critères.

Pour ce qui est des résultats, je comprends ton inquiétude mais j'y avais pensé et certains critères peuvent en remplacer d'autres en compensant les pondérations pour toujours arriver effectivement à 100%

Dans ce cas je ne vois pas comment on peut répondre à une question dont on n'a pas tous les éléments :

Encore une fois il faut dès le départ réinitialiser la feuille et basta...

Parce que inhiber des lignes, en rajouter d'autres, ou modifier les clefs de répartition pour arriver à 100 et toussa pour tous les cas de figures de critères interchangeables ou optionnels et des clefs modifiables, surtout si tu ne peux pas créer une grille de validité, ça menace d'être de tout repos !

En tout cas verrouiller la ligne n'est pas suffisant : il faut au minimum supprimerla clef de répartition et modifier les autres si tu dois partir sur une base 100

Bon enfin c'est toi qui vois. Je te laisse avec gyrus.

A+

Rechercher des sujets similaires à "verrouiller ligne fonction valeur liste deroulante"