Bonjour le forum,
Je pense notamment à tous ceux qui ont eu l'amabilité de répondre à mes précedentes questions qui m'ont permis d'évoluer dans mon projet. Meilleurs voeux pour cette nouvelle année.
Ma question : Comme certains le savent, je travaille sur une liste de service dont chaque ligne calendaire sur excel représente le décompte des absences d'un agent. Ces absences sont enregistrées dans une cellule sélectionnée à l'aide d'un userform multichoix (congé, récupération, maladie etc...). Pour pinailler un peu, j'ai crée ce code qui fonctionne bien :
Private Sub CommandButtoncongé_Click()
ligne = ActiveCell.Row
If ligne 1 And Range("a1").Value 0 Then
MsgBox "Plus de Congé"
Exit Sub
ElseIf ligne = 1 And Range("a1").Value >= 1 Then MsgBox "ok..."
Selection.Value = "CA"
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
Unload userformabsences
ActiveCell.Offset(RowOffset:=0, ColumnOffSet:=2).End(xlUp).Activate
End If
End Sub
Seulement, lorsque je veux l'étendre à l'ensemble des lignes qui composent les différents agents, j'éprouve des difficultés, d'autant que pour la ligne 2, l'objet range sera a2, pour la ligne 3, l'objet range sera a3 etc...
Peut-on avec ce seul bouton gérer plusieurs lignes de manière indépendantes ? Merci de me répondre si une solution existe !!!
Bien à vous
A+
Private Sub CommandButtoncongé_Click()
ligne = ActiveCell.Row
If Range("a" & ligne).Value = 0 Then
MsgBox "Plus de Congé"
Exit Sub
ElseIf Range("a" & ligne).Value >= 1 Then MsgBox "ok..."
Selection.Value = "CA"
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
Unload userformabsences
ActiveCell.Offset(RowOffset:=0, ColumnOffSet:=2).End(xlUp).Activate
End If
End Sub