Autres {RÉSOLU] Problème macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

un internaute

XLDnaute Impliqué
Bonjour le forum
Dans le bout de macro ci-dessous dans la colonne H il faudrait qu s'affiche 0 le dimanche comme le samedi

VB:
        ' Surveille la plage du 1er au dernier jours du mois
        'If Not Intersect(Range("B6:C" & 5 + NombreJour, "F6:F" & 5 + NombreJour), Target) Is Nothing Then
        If Not Intersect(Range("B6:C" & 5 + NombreJour), Target) Is Nothing Then
          ' Reconstruit la date de fonction du nom de la feuille et du numéro de ligne sélectionnée
          Ladate = DateSerial(Split(Sh.Name, " ")(1), Month(DateValue(Sh.Name)), Target.Row - 5)
          ' Si la colonne B et la colonne C est vide on efface la date
          Select Case Range("B" & Target.Row)
            Case "Repos", "Congés"
              Range("C" & Target.Row) = Range("B" & Target.Row)
          End Select
          If Range("B" & Target.Row) = "Congés" Or Range("B" & Target.Row) = "Repos" Then Range("C" & Target.Row) = Range("B" & Target.Row)
          Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("C" & Target.Row) = "", "", Application.Proper(Format(Ladate, "dddd dd mmmm yyyy")))
          Range("I" & Target.Row) = IIf(Range("A" & Target.Row) & Range("B" & Target.Row) & Range("C" & Target.Row) = "", "", Ladate)
          Range("H" & Target.Row) = IIf(Not (IsNumeric(Range("B" & Target.Row))), 0, 1)
          If Range("B" & Target.Row) = "" Then
            Range("H" & Target.Row) = ""
          ElseIf Weekday(CDate(Range("I" & Target.Row)), 2) = 6 Then
            Range("H" & Target.Row) = 0
          End If
          ' si la ligne modifiée est la dernière du mois et que la colonne est la C
          If Target.Row = NombreJour + 5 And Target.Column = 3 Then       ' Colonne C
            ' On construit le nom de la feuille du mois suivant
            MoisSuivant = MonthName(Month(DateAdd("m", 1, DateValue(Sh.Name)))) & " " & Year(DateAdd("m", 1, DateValue(Sh.Name)))
            ' On va vérifier si la feuille existe
            If FeuilleExiste(MoisSuivant) = False Then   'Exit Function
            ' La feuille existe
            With Sheets(MoisSuivant)
              'On la rend visible
              .Visible = xlSheetVisible
              ' On masque celle que l'on vient de finir
              ActiveSheet.Visible = xlSheetHidden
              ' et on la sélectionne
              .Select
            End With
          End If
        End If
      End If
    End If
  End If                                           
  End If
 
  Application.EnableEvents = True
'End Function
End Sub

Je pense que ça se passe dans les lignes de la macro ci-dessous


Code:
          If Range("B" & Target.Row) = "Congés" Or Range("B" & Target.Row) = "Repos" Then Range("C" & Target.Row) = Range("B" & Target.Row)
          Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("C" & Target.Row) = "", "", Application.Proper(Format(Ladate, "dddd dd mmmm yyyy")))
          Range("I" & Target.Row) = IIf(Range("A" & Target.Row) & Range("B" & Target.Row) & Range("C" & Target.Row) = "", "", Ladate)
          Range("H" & Target.Row) = IIf(Not (IsNumeric(Range("B" & Target.Row))), 0, 1)
          If Range("B" & Target.Row) = "" Then
            Range("H" & Target.Row) = ""
          ElseIf Weekday(CDate(Range("I" & Target.Row)), 2) = 6 Then
            Range("H" & Target.Row) = 0
          End If

Merci pour vos éventuels retours

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
143
Réponses
1
Affichages
320
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
247
Réponses
4
Affichages
359
Réponses
3
Affichages
454
Réponses
6
Affichages
392
Retour