Effacement de cellules si cellules contiguës vierges

Bonjour à tous

SVP, voir fichier joint, nous souhaiterions que les cellules des colonnes F et H, à partir de la ligne 3, s’effacent si les cellules contiguës en E et G sont vides.

Actuellement, le fait d’effacer les données en E et G n’effacent pas en F et G

Ce projet de tableau sera partagé entre plusieurs utilisateurs, toutes les colonnes de couleur autre que blanches seront protégées.

Une première macro est déjà appliquée :

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

Merci pour votre précieuse aide.

NB, excusez-nous de notre faible connaissance en programmation…

Bien cordialement

Jc et john

Bonjour,

Utiliser les balises Code pour citer du code (bouton Code au-dessus de la fenêtre) !

Ça n'efface pas, ça met la date et l'heure, comme tu le demandes !

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 5 Or Target.Column = 7 Then
        'Me.Unprotect
        Target.Offset(0, 1) = Now
        'Me.Protect
    End If
End Sub

Déverrouiller les cellules non protégées avant de protéger...

Cordialement.

Bonjour MFerrand,

Merci pour votre réponse, qui nous a permis de simplifier/optimiser notre code, mais qui ne répond pas à notre besoin (peut être avez vous lu en diagonale la demande).

Nous avons donc besoin d'une nouvelle macro, qui, quand on efface la donnée comprise dans une cellule de la colonne 5, va effacer automatiquement la donnée présente dans la cellule de la colonne 6.

En reformulant différemment, je veux qu'en effaçant le contenu de la cellule E5 cela entraine l'effacement du contenu présent en F5.

Merci pour votre aide,

Cordialement,

Jonate

Bonjour,

Voici le code à rajouter à la suite de votre macro actuelle dans la procédure Change.

If Target.Column = 5 And Target = "" Then Target.Offset(0, 1).ClearContents
If Target.Column = 7 And Target = "" Then Target.Offset(0, 1).ClearContents

A plus !

Bonjour Bratters,

Merci beaucoup, pour ton aide, ça fonctionne très bien,

Bonne fin de journée,

Jonate

Pas d'erreur de lecture de ma part... Il y a contradiction entre la demande et le code existant... La demande ne fait plus mention de la date, or il ne peut y avoir qu'une procédure Change, que j'ai réécrit plus simplement (sans redondances...).

Pour combiner les deux :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 5 Or Target.Column = 7 Then
        'Me.Unprotect
        With Target.Offset(0, 1)
            If Target <> "" Then .Value = Now Else .ClearContents
        End With
        'Me.Protect
    End If
End Sub

Cordialement.

Rechercher des sujets similaires à "effacement contigues vierges"