Priorités automatiques dans une liste

Bonjour à tous;

J'ai un tableau - ci joint - qui comporte une liste de tâches.

J'aimerais que le script (je suppose que ce serait en VBA) vérifie si les 4 premiers caractères de la colonne E soient CMMS, et que - si c'est la cas - affiche un numéro de priorités dans la colonne D (priority).

Une fois les premiers chiffres attribués au départ, il faudrait que lorsqu'on tape dans "Priorités" un chiffre qui est déjà utilisé, le système décale tous les autres chiffres suivants de "1".

Par exemple si j'ai des lignes CMMS qui comportent les priorités 1 à 10, et que j'insère une ligne en lui attribuant le numéro 5, il faudrait que la ligne (anciennement) 5 devienne 6, la 6 devienne 7, etc...

De même à l'inverse, si je supprime la ligne 2 car terminée, il faudrait que la ligne 3 devienne la 2, la 4 devienne 3, etc... de façon décroissante.

Pensez-vous que ceci soit réalisable ? et si oui, y a t il un pro pour m'aider ?

Merci d'avance.

Olivier

Bonjour,

une proposition via formule, si les lignes sont toujours dans l'ordre des priorités.

il suffit d'ajouter la ligne au bon endroit, la numérotation des priorités se fera automatiquement.

Non, malheureusement les lignes sont encodées sans tenir compte de la colonne E et pas spécialement dans l'ordre des priorités...

merci

Bonjour,

une solution via des macros événementielles (un peu trop compliquée à mon goût)

si tu changes le nom de feuil1, il faudra adapter le code de workbook_open

Bonjour,

Une piste sur changement de valeur :

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Lig As Integer
    Dim I As Integer
    Dim J As Integer

    If Target.Column <> 4 Then Exit Sub
    If Target.Count > 1 Then Exit Sub

    With ActiveSheet: Lig = .Cells(.Rows.Count, 4).End(xlUp).Row: End With

    J = Target.Value

    Application.EnableEvents = False

    For I = Target.Row + 1 To Lig

        If InStr(Cells(I, 5).Value, "CMMS") <> 0 Then

            If Cells(I, 4).Value <> "" Then
                J = J + 1: Cells(I, 4).Value = J
            End If

        End If

    Next I

    Application.EnableEvents = True

End Sub

Maintenant, pour la suppression ou ajout de lignes comme les procédures événementielles ne réagissent pas il te faudra voir comment intercepter cette action !

bonjour

Maintenant, pour la suppression ou ajout de lignes comme les procédures événementielles ne réagissent pas il te faudra voir comment intercepter cette action !

c'est ce qui amène la complexité dans la solution que j'ai proposée.

Bonjour Sougoliv,

ferais-tu partie de cette bande de grossiers personnages pour qui merci signifie "ferme ta gueule et fais ce que je te demande" tant qu'ils n'ont pas eu ce qu'ils souhaitaient, mais qui quand une solution leur est proposée, s'abstiennent d'un retour et/ou d'un merci sincère ?

Un coup de gueule, dommage que cela tombe sur toi , car tu es loin d'être le seul.

Heureusement que la majorité des gens qui viennent sur ce site agissent autrement.

Houla H2so4,

Pourquoi t'emportes-tu comme ça !

Excuses moi si je n'ai pas encore répondu, mais ma semaine a été un peu surchargée... et je n'ai pas encore eu le temps de regarder à ta proposition... ce sera certainement pour la semaine prochaine !

Tu verras par ailleurs, que certes, je ne suis pas très actif sur ce site, mais qu'à chaque fois... j'ai remercié les personnes qui m'ont aidé !

Passe quand même un bon week end

Bonjour,

je te remercie donc d'avoir pris le temps de répondre malgré ton emploi du temps surchargé.

Bonjour,

il semblerait que le temps me donne raison ...

Bonjour h2so4,

il semblerait que le temps me donne raison ...

et combien il y en a des comme ça malheureusement

Rechercher des sujets similaires à "priorites automatiques liste"