Valeur cellule

Bonjour à tous,

Grâce à ce forum j'ai pu avoir le code ci-joint, qui me permet de changer une valeur de cellule excel suivant une valeur ou non d'une autre cellule.

Ce que je souhaiterai maintenant, c'est d'améliorer ce code afin de:

si colonne K différent de vide alors colonne U= ENLEVÉ

si colonne K et M différent de vide alors colonne U= A VÉRIFIER

Quelqu'un pourrait-il m'aider svp?

Private Sub Worksheet_Change(ByVal Target As Range)

'Changer valeur d'une cellule en fonction d'une autre, le 26/12/2016 par Guillaume

'si la colonne de la cellule modifiée est différente de 11 (=> colonne K), sort de la procédure

If Target.Column <> 11 Then Exit Sub

'si la cellule en colonne K est non vide, envoie "ENLEVÉ" dans la colonne U

If Target.Value <> "" Then

Target.Offset(0, 10).Value = "ENLEVE"

Else

Target.Offset(0, 10).Value = ""

End If

End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

colonne = Target.Column
ligne = Target.Row
If colonne = 11 Or colonne = 13 Then
    If Cells(ligne, 11) <> "" And Cells(ligne, 13) <> "" Then
        Cells(ligne, 21) = "A VÉRIFIER"
        Else
        If Cells(ligne, 11) <> "" Then
            Cells(ligne, 21) = "ENLEVÉ"
            Else
            Cells(ligne, 21) = ""
        End If
    End If
End If

End Sub

Bonjour

Essaie ce code :

Private Sub Worksheet_Change(ByVal Target As Range)

    'si la colonne de la cellule modifiée est différente de 11 (=> colonne K), sort de la procédure
    If Target.Column <> 11 Then Exit Sub
    'si les cellule en colonne K sont non vides, envoie "A VÉRIFIER" dans la colonne U
    If Target.Value <> "" And Target.Offset(0, 2) <> "" Then
        Target.Offset(0, 10).Value = "A VÉRIFIER"
        'sinon on envoie "ENLEVE" en colonne U
    ElseIf Target.Value <> "" Then
        Target.Offset(0, 10).Value = "ENLEVE"
    End If
End Sub

Résultat ?

Bye !

GMB,

ton code ne se lance que si la cellule modifiée est dans la colonne K.

Donc si on saisie en colonne K puis ensuite colonne M, ça n'actualisera pas la colonne U

Bonjour melch et gmb.

Merci melch pour ton code, ça marche nickel.

Merci à toi aussi gmb.

Cordialement,

Guillaume

Ok

Alors teste ce celui-ci :

Private Sub Worksheet_Change(ByVal Target As Range)

    'si la colonne de la cellule modifiée est différente de 11 (=> colonne K), sort de la procédure
    If Target.Column <> 11 And Target.Column <> 13 Then Exit Sub
    Application.EnableEvents = False
    'si les cellules en colonne K et M sont non vides, envoie "A VÉRIFIER" dans la colonne U
    If Cells(Target.Row, 11).Value <> "" And Cells(Target.Row, 13) <> "" Then
        Cells(Target.Row, 21).Value = "A VÉRIFIER"
        'sinon on envoie "ENLEVE" en colonne U
    ElseIf Cells(Target.Row, 11).Value <> "" Then
        Cells(Target.Row, 21).Value = "ENLEVE"
    End If
    Application.EnableEvents = True
End Sub

Ton code aussi marche gmb, Merci

Rechercher des sujets similaires à "valeur"