Si Ligne contient alors

Bonjour le Forum !!

Un Sujet déjà traité et retraité, pourtant je n'arrive pas à trouver mon bonheur dans mes recherches..

Avec :

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

A partir de la ligne 6 de ma feuille je souhaite vérifier toutes mes lignes.

Si en Colonne Cells(n , 7) , donc colonne G, égale "moi" ou "toi" ou "nous" alors la ligne qui contient celà on écrit "X" en colonne 13 (Colonne M) et Si c'est égale à "moi" ou "toi" on écrit aussi "OK" en colonne 26 (Colonne Z), si c'est égale à "nous" alors on écrit "loupé" en colonne 26.

Bonjour,

J'espère que tu arriveras à comprendre le code comme il se doit, sinon n'hésite pas à demander

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Long
lig = Target.Row

If lig >= 6 Then
    Select Case Cells(lig, 7)
    Case "moi", "toi"
        Cells(lig, 13) = "X"
        Cells(lig, 26) = "OK"
    Case "nous"
        Cells(lig, 13) = "X"
        Cells(lig, 26) = "loupé"
    End Select
End If
End Sub

Bonjour,

si j'ai bien compris ...

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("G")) Is Nothing Then Exit Sub
For Each cel In Intersect(Target, Columns("G"))
    If cel.Row >= 6 Then
        If cel = "moi" Or cel = "toi" Then
            Cells(cel.Row, "M") = "X"
            Cells(cel.Row, "Z") = "ok"
        ElseIf cel = "nous" Then
            Cells(cel.Row, "M") = "X"
            Cells(cel.Row, "Z") = "loupé"
        End If
    End If
Next
End Sub

zut ! grillé par ausecour que je salue

Bonjour,

La macro fonctionne seul HIC c'est qu'elle me fait planter le Excel Quand je suis en Change

Si je met en selectionchange là c'est bon mais je doit sélectionner ligne par ligne j'aurai voulu que ce soit automatique.

Je vais test la macro de Steelson.

Re!

Ah oui!

J'ai commis deux erreurs qui font que tu as un changement qui entraine un changement, qui entraine un changement.... et ça n'en finis plus, déjà, comme le propose Steelson , regarder si le changement arrive en colonne G, et pour ne pas relancer l'évènement quand on modifie, autant désactiver les évènements puis les réactiver après.

ça devrait donner:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Long
lig = Target.Row

If lig >= 6 And Not Intersect(Target, Columns("G")) Is Nothing Then
    Application.EnableEvents = False

    Select Case Cells(lig, 7)
    Case "moi", "toi"
        Cells(lig, 13) = "X"
        Cells(lig, 26) = "OK"
    Case "nous"
        Cells(lig, 13) = "X"
        Cells(lig, 26) = "loupé"
    End Select

    Application.EnableEvents = True
End If
End Sub

à noter que la solution de Steelson permet de traiter toutes les cellules qui changent en colonne G, cette solution peut potentiellement être plus intéressante, je peux adapter mon programme pour faire ça aussi si tu le souhaites

Pour le code de Steelson, il me met variable "cel" non défini.

Pour ton nouveau code Ausecour, il ne se passe rien du tout Au moins ça ne plante plus

Re,

C'est normal que pour Steelson ça ne marche pas, tu n'avais pas précisé que tu avais Option Explicit, qui force à déclarer toutes les variables utilisées dans les programmes

Pour le programme de Steelson, il faudrait mettre:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel as Range

If Intersect(Target, Columns("G")) Is Nothing Then Exit Sub
For Each cel In Intersect(Target, Columns("G"))
    If cel.Row >= 6 Then
        If cel = "moi" Or cel = "toi" Then
            Cells(cel.Row, "M") = "X"
            Cells(cel.Row, "Z") = "ok"
        ElseIf cel = "nous" Then
            Cells(cel.Row, "M") = "X"
            Cells(cel.Row, "Z") = "loupé"
        End If
    End If
Next
End Sub

Je t'ai retourné ton fichier en MP

Je vais test la macro de Steelson.

j'attends ton retour ...

Je vais test la macro de Steelson.

j'attends ton retour ...

Pour le code de Steelson, il me met variable "cel" non défini.

Il n'avait pas précisé qu'il utilisait Option Explicit, c'est tout ce qu'il a pu voir de ton code pour le moment du coup

Ah ben oui,

ajoute donc

dim cel as range
Rechercher des sujets similaires à "ligne contient"