Aide sur une macro avec Private Sub Worksheet_Change(ByVal Target As Range)

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 !

verolyde

XLDnaute Nouveau
Bjr,

Sur une meme feuille, je voudrais mettre la macro suivante, mais elle ne marche pas :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$22" Then If Not (IsEmpty(Target.Value)) Then Range("F22").Value = Now Else Range("F22").ClearContents
If Target.Address = "$C$23" Then If Not (IsEmpty(Target.Value)) Then Range("F23").Value = Now Else Range("F23").ClearContents
If Target.Address = "$C$24" Then If Not (IsEmpty(Target.Value)) Then Range("F24").Value = Now Else Range("F24").ClearContents
If Target.Address = "$C$25" Then If Not (IsEmpty(Target.Value)) Then Range("F25").Value = Now Else Range("F25").ClearContents
If Not Intersect([planning], Target) Is Nothing Then

For i = 1 To [couleurs].Count
lg = Len(Sheets("couleurs").Range("couleurs")(i))
If UCase(Left(Target.Value, lg)) = UCase(Sheets("couleurs").Range("couleurs")(i)) Then
temp = Sheets("couleurs").Range("couleurs")(i).Interior.ColorIndex
Target.Interior.ColorIndex = temp
Exit For
End If
Next i
End I

Pourriez vous dire où est le pb ?

Merci d'avance 🙂

verolyde
 
Re : Aide sur une macro avec Private Sub Worksheet_Change(ByVal Target As Range)

Bonjour à tous,

Peux-tu essayer ceci :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$C$22" Then
        If Not (IsEmpty(Target.Value)) Then Range("F22").Value = Now
    Else: Range("F22").ClearContents
    End If

    If Target.Address = "$C$23" Then
        If Not (IsEmpty(Target.Value)) Then Range("F23").Value = Now
    Else: Range("F23").ClearContents
    End If

    If Target.Address = "$C$24" Then
        If Not (IsEmpty(Target.Value)) Then Range("F24").Value = Now
    Else: Range("F24").ClearContents
    End If

    If Target.Address = "$C$25" Then
        If Not (IsEmpty(Target.Value)) Then Range("F25").Value = Now
    Else: Range("F25").ClearContents
    End If

    If Not Intersect([planning], Target) Is Nothing Then
        For i = 1 To [Couleurs].Count
            lg = Len(Sheets("Couleurs").Range("Couleurs")(i))
            If UCase(Left(Target.Value, lg)) = UCase(Sheets("Couleurs").Range("Couleurs")(i)) Then
                Temp = Sheets("Couleurs").Range("Couleurs")(i).Interior.ColorIndex
                Target.Interior.ColorIndex = Temp
            End If
        Next i
    End If
End Sub

A + à tous
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
548
Réponses
4
Affichages
485
Retour