Probleme Code

Bonjour,

je dispose d'un code qui fonctionne très bien pour récapitulé tout les CA, RTT et RC de tout mon personnel de nuit

Private Sub Worksheet_Activate()

    derLn = Range("A" & Rows.Count).End(xlUp).Row
    Range("D2:F" & derLn).ClearContents
    For i = 1 To 85
        For lgn = 2 To derLn
            With Sheets(Choose(i, "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre") & " NUIT")
                Set cel = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Range("A" & lgn), lookat:=xlWhole)
                If Not cel Is Nothing Then
                    ln = cel.Row
                    For col = 3 To 33
                        If .Cells(ln, col).Value = "CA" Then
                            Cells(lgn, "D").Value = Cells(lgn, "D").Value + 1
                        ElseIf .Cells(ln, col).Value = "RTT" Then
                            Cells(lgn, "E").Value = Cells(lgn, "E").Value + 1
                        ElseIf .Cells(ln, col).Value = "RC" Then
                            Cells(lgn, "F").Value = Cells(lgn, "F").Value + 1
                        End If
                    Next col
                End If
            End With
        Next lgn
    Next i

Sachant que la variable "NUIT" peut être "NUIT","HC","HEMOSTASE","OP","SECRETAIRE","IDE","ARC"

Je voudrais savoir s'il faut que je copie ce code x fois en changeant NUIT par les autres variables, ouil y a un autre moyen

Bonjour

Essaie avec 'Select Case'.

Cdlt.

                   For col = 3 To 33
                        Select Case .Cells(ln, col).Value
                            Case "CA"
                                ' code
                            Case "RTT"
                                ' code
                            Case "RC"
                                ' code
                            Case "NUIT", "HC", "HEMOSTASE", "OP", "SECRETAIRE", "IDE", "ARC"
                                ' code
                        End Select
                    Next col

Bonjour Jean Eric,

Etant débutante sur VBA, pourais tu s'il te plait m'expliqué ton code et dire qu'elle parti de mon code je dois mettre dans 'code

merci

bonjour,

moi j'y vois plutôt un peu comme ça :

Private Sub Worksheet_Activate()
    derLn = Range("A" & Rows.Count).End(xlUp).Row
    Range("D2:F" & derLn).ClearContents
For k = 0 To 6
    Arr = Split("NUIT HC HEMOSTASE OP SECRETAIRE IDE ARC")

    For i = 1 To 12
        For lgn = 2 To derLn
            With Sheets(Choose(i, "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre") & " " & Arr(k))
                Set cel = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(Range("A" & lgn), lookat:=xlWhole)
                If Not cel Is Nothing Then
                    Ln = cel.Row
                    For col = 3 To 33
                        If .Cells(Ln, col).Value = "CA" Then
                            Cells(lgn, "D").Value = Cells(lgn, "D").Value + 1
                        ElseIf .Cells(Ln, col).Value = "RTT" Then
                            Cells(lgn, "E").Value = Cells(lgn, "E").Value + 1
                        ElseIf .Cells(Ln, col).Value = "RC" Then
                            Cells(lgn, "F").Value = Cells(lgn, "F").Value + 1
                        End If
                    Next col
                End If
            End With
        Next lgn
    Next i
Next
End Sub

Non testé

A+

Bonjour galopin01,

j'ai essayé ta formule mais elle ne fonctionne pas , je te joins mon fichier, l'identifiant est ADMIN et le Mot de passe ADMIN

ps: il s'agit d'une ancienne version de mon fichier c'est pourquoi les onglets ne sont pas identifié correctement

bonjour,

ça c'est pas une réponse :

j'ai essayé ta formule mais elle ne fonctionne pas

Quand je donne un code, en principe il fonctionne, même s'il n'est pas testé.

Après il peut fournir des erreurs. dans ce cas il faut indiquer les erreurs rencontrées.

Quand tu joins un fichier il faut mettre un Vrai fichier : Pas un raccourci, parce qu'avec un raccourci, là... à coup sûr ça ne fonctionne pas !

A+

Autant pour moi, l'erreur vient de moi desolé

Ta formule fonctionne super bien

Merci beaucoup!!!!!!!!

Rechercher des sujets similaires à "probleme code"