Une cellule par ligne soit remplie

salut les Excelistes

mon problème peut paraitre simple pour vous, mais ça coince pour moi, voilà: dans la plage AH7:AI46 il y a deux colonnes AH et AI, je veux, si c'est possible bien sur, un code pour vérifier si une cellule est modifiée la cellule avoisinante seras effacée automatiquement d'une façon qu'en max une cellule par ligne soit remplie

merci d'avance

Salut,

Essaye ce code :

Dim Col As Integer
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("AH7:AI46")

If Col <> 0 Then
    If (Col = 35) And Range("A1").Offset(Target.Row - 1, Col - 1).Value = "" Then
        Exit Sub
    End If
    If (Col = 34) And Range("A1").Offset(Target.Row - 1, Col - 1).Value = "" Then
        Exit Sub
    End If
End If

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then

        If Target.Column = 34 Then
            Col = 35
            Range("A1").Offset(Target.Row - 1, 34).ClearContents
        End If

        If Target.Column = 35 Then
            Col = 34
            Range("A1").Offset(Target.Row - 1, 33).ClearContents
        End If
End If
End Sub

Bonjour,
Une autre proposition !?
Cdt.

9txacid.xlsm (15.01 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
Const R As String = "AH7:AI46"

    On Error GoTo errHandler

    If Not Intersect(Target, Me.Range(R)) Is Nothing Then
        Application.EnableEvents = False
        Select Case Target.Column
        Case 34:
            If Not IsEmpty(Target) Then Target.Offset(, 1).Value = vbNullString
        Case 35:
            If Not IsEmpty(Target) Then Target.Offset(, -1).Value = vbNullString
        End Select
    End If

exitHandler:
    Application.EnableEvents = True
    Exit Sub

errHandler:
    MsgBox "Erreur : " & Err.Number & Chr(10) & Err.Description
    Resume exitHandler

End Sub
Rechercher des sujets similaires à "ligne soit remplie"