XL 2016 VBA effacer automatiquement cellule

  • Initiateur de la discussion Initiateur de la discussion Yücel
  • Date de début Date de début

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 !

Yücel

XLDnaute Junior
Bonjour,

Est-il possible de faire en sorte que si dans mon tableau dans la colonne débit nous avons déjà un montant de saisie et que nous voulons saisir un montant sur la colonne crédit, et bien le montant qui était saisie dans la colonne débit s’efface.

Et vice-versa, si nous avons déjà un montant de saisie dans la colonne crédit et que nous voulons saisir un montant sur la colonne débit, et bien le montant qui était saisie dans la colonne crédit s’efface.

Faire ceci pour chaque des lignes de mon tableau car il ne peut pas y avoir sur une même ligne de saisie à la fois un montant au débit et un montant au crédit.

Merci beaucoup pour votre précieuse aide !
 

Pièces jointes

Bonjour Yücel,
Un essai en PJ avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [L:L]) Is Nothing Then
         Application.ScreenUpdating = False
         If LCase(Target) = "x" Then
            Cells(Target.Row, "M") = ""
         End If
    End If
    If Not Intersect(Target, [M:M]) Is Nothing Then
         Application.ScreenUpdating = False
         If LCase(Target) = "x" Then
            Cells(Target.Row, "L") = ""
         End If
    End If
Fin:
Application.ScreenUpdating = True
End Sub
Un "x" en L ou M efface la cellule d'à coté, à droite ou à gauche suivant le cas, en automatique.
 

Pièces jointes

Bonjour Sylvanu !

Un grand plaisir de vous revoir 😀😀 vous m'aviez déjà beaucoup aidé dans le passé !

C'est tout à fait ça mais à une condition près c'est qu'au lieu d'avoir des croix ce sont des montants qui doivent être supérieur à 0

Un grand merci 😉
 
Re,
Pourquoi donc avoir mis des "x" ? On y gagne toujours à avoir des fichiers test vraiment représentatif.🙂
En PJ un essai avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [L:L]) Is Nothing Then
         Application.ScreenUpdating = False
         If Val(Target) <> 0 Then
            Cells(Target.Row, "M") = ""
         End If
    End If
    If Not Intersect(Target, [M:M]) Is Nothing Then
         Application.ScreenUpdating = False
         If Val(Target) <> 0 Then
            Cells(Target.Row, "L") = ""
         End If
    End If
Fin:
Application.ScreenUpdating = True
End Sub
Ca ne change pas beaucoup.
 

Pièces jointes

- 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

Réponses
3
Affichages
446
Réponses
2
Affichages
196
Réponses
6
Affichages
467
Réponses
12
Affichages
500
Réponses
5
Affichages
338
Réponses
16
Affichages
789
Retour