Condition sur valeur cellule [Résolu]

Signaler
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012
-
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012
-
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+

2 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
9
Salut,

ben oui !!! et c'est même plutôt simple :

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


A+
Messages postés
45
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
16 novembre 2012

Merci bigfish,
Je m'aperçois avec le temps que le mot "simplicité" ne peut être interprété par tout le monde de la même façon !!!
Cordialement

eric