Bouton validation selon session

Bonjour à tous,

avant que je me lance, je voulais savoir si, selon vous, c'est techniquement possible :

Nous avons tous notre session personnelle et travaillons sur le même fichier.

Pour simplifier parfois les nouveautés, mon idée est de créer dans colonne D, un bouton de type "OK". Lorsque la personne ouvre le fichier depuis sa session et qu'elle clique dessus, ça la reconnait. Donc, si elle clique OK, c'est enregistré et son nom se met dans la colonne E. En parallèle, vu qu'elle a lu, son disparait de la colonne F.

Et ceci ligne par ligne...

Est-ce possible avec Excel ?

4suivi.xlsx (8.74 Ko)

Hello,

Un proposition :

Pas de bouton, juste saisir "ok" dans la colonne D. Ajouter une liste du personnel.

Le programme récupère le nom windows

17vinzu-suivi.xlsm (16.49 Ko)

Oui ça c'est vraiment chouette. Par contre, si le suivant rouvre le document, il serait génial que le champ ok soit vide je fais qu'à l'enregistrement la cellule se vide ?

Avec cela j'ai une erreur à la fermeture du fichier :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Worksheets("Feuil1").Range("D2:D1000").Value = ""
End Sub

Hello,

EN fin de code tout simplement :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("D:D")) Is Nothing Then
'        MsgBox "Click on " & Target.Address
        Dim strNom As String
        Dim i As Integer, intLastPersonnel As Integer, j As Integer
        Dim varTmp As Variant
        Dim booFind As Boolean
        If Target.Value = "ok" Then
            strNom = Environ("USERNAME")
            Target.Offset(, 1) = Target.Offset(, 1) & "," & strNom
            varTmp = Split(Target.Offset(, 1).Value, ",")
            intLastPersonnel = Cells(Rows.Count, "i").End(xlUp).Row
            strNom = vbNullString
            For i = 3 To intLastPersonnel
                booFind = False
                For j = LBound(varTmp) To UBound(varTmp)
                    If varTmp(j) = Cells(i, "i").Value Then booFind = True: Exit For
                Next j
                If booFind = False Then strNom = strNom & Cells(i, "i").Value & ","
            Next i
            Target.Offset(, 2) = strNom
            Target.value = ""
        End If
    End If
End Sub

C'est vraiment chouette comme ça en effet. J'étais trop compliqué avec mon code

Je me demandais encore une chose :

Est-ce que je peux via Macro ou alors avec les conditions, faire en sorte que lorsque la personne va ouvrir le document, si sa session est dans la colonne E, alors la ligne en question se mette en vert et si son nom est dans la colonne F, la ligne est en orange ? ainsi lorsqu'il va ouvrir le document, il voit directement ce qu'il n'a pas lu...

J’ai tenté avec des mise en forme conditionnel mais impossible…

Hello,

qqch comme ça :

Private Sub Workbook_Open()

    Dim strNom As String
    Dim lngLigne As Long, lngLastPersonnel As Long

    strNom = Environ("USERNAME")
    With Worksheets("TaFeuille")
        lngLastPersonnel = .UsedRange.Rows.Count
        For lngLigne = 1 To lngLastPersonnel
            If .Cells(lngLigne, "e").Value = strNom Then
                .Range("A" & lngLigne & ":Z" & lngLigne).Interior.ColorIndex = 4
            ElseIf .Cells(lngLigne, "f").Value = strNom Then
                .Range("A" & lngLigne & ":Z" & lngLigne).Interior.ColorIndex = 45
            End If
        Next lngLigne
    End With
End Sub
Rechercher des sujets similaires à "bouton validation session"