Suivi de qualification du personnel

Merci LoureeD pour ce dépannage express. Il m'avait semblé avoir suivi les instructions mais j'ai du faire une mauvaise manip à un moment donné.

Cordialement

Il me semble que l'erreur est encore présente. Je vais reprendre à zéro afin de voir étape par étape où je fais une mauvaise entrée...

capture

Non... je n'y arrive pas. Je rentre mes fonctions en feuilles "Bases" Ligne A et dès que je modifie de nom de l'intitulé "Opération 1" sur la feuille "Système" j'ai la fonction "Direction" sur la feuille "Listes" colonne "Fonctions utiles" qui disparait ce qui crée un croisement entre "Direction" et "Chef d'atelier"...

Je suis désolé LouReeD mais là je ne comprends pas mon erreur... ci-joint le fichier après une petite dizaine d'essais différents avec toujours le même résultat.

Bonjour

Je regarde cela le plus vite possible !

@ bientôt

LouReeD

Bonjour,

au vu de votre image je répondrais : c'est normal !

Voici une copie de mon précédent message : "A savoir que sur la feuille Liste, la colonne B représente les différentes fonctions de la feuille Base et que c'est une recopie par formule, donc il n'y a rien à faire pour le mettre à jour. La colonne C est une recopie de ces fonctions en enlevant celles qui ne sont pas utilisées, c'est à dire qu'il n'y a aucune information dans leur colonne en face des différentes opération de la feuille Base (exemple secrétariat) elle est automatique. La colonne D est une recopie de la colonne C mais avec le tri par ordre alphabétique, c'est cette liste qui sert de liste de choix au niveau des feuilles individuelles des personnels, elle est également automatique !"

Quel que soit l'ordre des fonctions sur la feuille Base, elles seront toujours mise par ordre alphabétique dans la colonne D. Il est donc normal qu'il y ait une inversion entre la colonne C et D de la feuille Liste !

Sinon je ne vois pas de soucis, si ce n'est qu'il est préférable d'entrer "ses données" avant de supprimer "les miennes"

@ bientôt

LouReeD

Merci LouReeD,

c’était ma façon de rentrer les données qui ne convenait pas à votre logiciel...

J'aimerai mettre à la place de "unique" une liste qui permette d’indiquer le mode de financement des formations mais je n'arrive pas à annuler le code vba qui est lié à la fonction "unique"...

Bien cordialement

Bonsoir,

tout d'abord veuillez m'excuser de ne pas vous avoir "reconnu" ! Après tant d'échange pour "Rétro-Planning de Gantt" ! Fonctionne t il toujours ou bien êtes vous passé à autre chose ? Pas de craintes, si c'est le cas vous pouvez le dire, c'est la vie !

Pour annuler la fonction "Unique" il suffit de... Mais attention ! Vous perdrez la possibilité de "filtrer" les opérations d'une fonction unique !
Mais si telle est votre demande alors il suffit d'aller sous VBA dans le module "Routines" et trouver ce code :

Sub mise_a_jour_affichage(Target)

    '
    ' permet de réinitialiser l'affichage de la fiche personnel suite à une modification :
    ' 1° - modification d'une des qualifications
    ' 2° - utilisation de l'option "unique"
    '
    With Sheets(nom_feuille)

        .Unprotect

        With Application
            .ScreenUpdating = False
            .EnableEvents = False
            .Calculation = xlManual
        End With

        If Not Intersect(Target, .Range("E1:M1,E4:M4")) Is Nothing Then

            .Calculate
            ' on sélectionne toutes les lignes et on montre
            .Range(Cells([décalage] + 1, [décalage] + 1), Cells([nb_opérations] + [décalage] + 2, [nb_opérations] + [décalage] + 2)).EntireRow.Hidden = False
            ' on boucle toutes les lignes qui contiennes des opérations
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).Value = Range("AF" & [décalage] + 2 & ":AF" & [nb_opérations] + [décalage] + 1).Value
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

        End If

        If Not Intersect(Target, .Range("E3:M3,E6:M6")) Is Nothing Then

            If Target.Value = "Unique" Then
                .Range("E3:M3,E6:M6").Value = ""
                Target.Value = "Unique"
            Else
                .Range("E3:M3,E6:M6").Value = ""
            End If
            .Calculate
            ' on sélectionne toutes les lignes et on montre
            .Range(Cells([décalage] + 1, [décalage] + 1), Cells([nb_opérations] + [décalage] + 2, [nb_opérations] + [décalage] + 2)).EntireRow.Hidden = False
            ' on boucle toutes les lignes qui contiennes des opérations
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).Value = Range("AF" & [décalage] + 2 & ":AF" & [nb_opérations] + [décalage] + 1).Value
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

        End If

        On Error Resume Next
            ActiveWindow.SmallScroll up:=200
        On Error GoTo 0

        With Application
            .ScreenUpdating = True
            .EnableEvents = True
            .Calculation = xlAutomatic
        End With

        .Protect

    End With

End Sub

Puis de mettre en commentaire la partie référençant la ligne 3 et 6 de la colonne E à M, comme ceci :

Sub mise_a_jour_affichage(Target)

    '
    ' permet de réinitialiser l'affichage de la fiche personnel suite à une modification :
    ' 1° - modification d'une des qualifications
    ' 2° - utilisation de l'option "unique"
    '
    With Sheets(nom_feuille)

        .Unprotect

        With Application
            .ScreenUpdating = False
            .EnableEvents = False
            .Calculation = xlManual
        End With

        If Not Intersect(Target, .Range("E1:M1,E4:M4")) Is Nothing Then

            .Calculate
            ' on sélectionne toutes les lignes et on montre
            .Range(Cells([décalage] + 1, [décalage] + 1), Cells([nb_opérations] + [décalage] + 2, [nb_opérations] + [décalage] + 2)).EntireRow.Hidden = False
            ' on boucle toutes les lignes qui contiennes des opérations
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).Value = Range("AF" & [décalage] + 2 & ":AF" & [nb_opérations] + [décalage] + 1).Value
            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

        End If

'        If Not Intersect(Target, .Range("E3:M3,E6:M6")) Is Nothing Then

'            If Target.Value = "Unique" Then
'                .Range("E3:M3,E6:M6").Value = ""
'                Target.Value = "Unique"
'            Else
'                .Range("E3:M3,E6:M6").Value = ""
'            End If
'            .Calculate
'            ' on sélectionne toutes les lignes et on montre
'            .Range(Cells([décalage] + 1, [décalage] + 1), Cells([nb_opérations] + [décalage] + 2, [nb_opérations] + [décalage] + 2)).EntireRow.Hidden = False
'            ' on boucle toutes les lignes qui contiennes des opérations
'            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).Value = Range("AF" & [décalage] + 2 & ":AF" & [nb_opérations] + [décalage] + 1).Value
'            .Range("AK" & [décalage] + 2 & ":AK" & [nb_opérations] + [décalage] + 1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

'        End If

        On Error Resume Next
            ActiveWindow.SmallScroll up:=200
        On Error GoTo 0

        With Application
            .ScreenUpdating = True
            .EnableEvents = True
            .Calculation = xlAutomatic
        End With

        .Protect

    End With

End Sub

Maintenant à vous de créer une liste de choix sur ces 2 lignes sur toutes les fiches des personnels ainsi que sur la feuille vierge. Bonne chance !

@ bientôt

LouReeD

Bonjour LouReeD,

oui, Rétro-Planning est toujours actif dans mon service, je m'en sers quotidiennement et j'en suis ravi ! Il gère désormais 6 ateliers de production en simultané et environ, à ce jour, plus de 300 projets. ça rame un peu quand je l'ouvre mais c'est tellement fonctionnel en terme de suivi que je ne saurai plus m'en passer...

Merci encore pour ça ;)

Je vais appliquer le nouveau code vba et commencer à rentrer les données de mes 96 professionnels... je suis sûr que votre suivi de qualification saura me soulager dans mon travail au quotidien :)

Bien cordialement.

Encore moi...

Malgré le changement du code vba, le fait de choisir dans la liste déroulante ce qui était avant "unique" maintenant "ESAT" fait disparaitre la ligne correspondante. Et ce choix ne se conserve pas à l'enregistrement.

J'aimerai que cette cellule déroulante me serve à indiquer le mode de financement de la formation et soit conservé à l'enregistrement.

Désolé... je n'ai guère progressé en vba depuis le Rétro-planning... ;)

Cordialement,

Bonjour

Je regarde cela ce soir...

Il se peut qu'il y ait un autre code quelque part pour une initialisation quelconque...

@ bientôt

LouReeD

Bonsoir,

c'était donc bien cela, toujours dans le module "Routines" il y en avait deux qui initialiser les lignes 3 et 6 de la colonne E à M des feuilles personnels "quittées" lors de l'arrivée sur la feuille "Accueil".

Je les aie mises en commentaire, comme cela elles n'agissent plus !

Le fichier modifié :

@ bientôt

LouReeD

Merci de votre support, toujours aussi efficace ;)

Cordialement

Non... quand ça ne veut pas, ça ne veut pas :)

La fonction "Unique" est toujours active et le choix de la liste déroulante n'est pas conservée à l'enregistrement.

J'ai bien essayé de mettre en commentaire certaines fonctions mais je ne trouve pas la bonne....

Bonjour

Cette application commence à...

Sous VBA, cliquez sur les jumelles et recherchez "dans le projet" : E3

Pour chaque ligne trouvée qui parle de E3:M3 et de E6:M6, mettez une apostrophe en début de ligne afin de passer l'instruction en commentaire et ce quelque soit l'endroit où elle se trouve : module standard, module de feuille, module de classeur ou bien code de USF.

J'ai du en oublier... Désolé.

Sinon je regarde ce soir

@ bientôt

LouReeD

c'est exactement ce que j'ai fait ce matin, mais sans succès.

J'ai rusé en gardant "Unique" et en ajoutant, en dessous, des choix dans la liste déroulante... mais l'enregistrement du document ne garde pas ce choix et réinitialise la cellule en "Vide" à l'ouverture.

Désolé....

A ce soir donc...

@ bientôt

LouReeD

Bonsoir,

le fichier :

@ bientôt

LouReeD

Merci LouReeD, ça fonctionne.

Bien cordialement

Bonjour,

Merci pour ce retour !

@ bientôt

LouReeD

Rechercher des sujets similaires à "suivi qualification personnel"