XL 2019 Est-il possible d'entrer une valeur dans une cellule où il y a déjà une formule sans l'effacer?

LittleRedBeast7

XLDnaute Nouveau
Bonjour!



Je voulais savoir s'il était possible d'entrer une valeur dans une cellule où il y a déjà une formule sans l'effacer?

Contexte:

J'ai 2 colonnes

- Si je met un chiffre dans la cellule de la première colonne, un ''X'' apparait dans la 2ème
- Si je met un chiffre dans la cellule de la deuxième colonne, un ''X'' apparait dans la 1ère

Problèmes:
1. Référence circulaire?
2. Si je met une valeur à la place de la formule, la formule s'enlève

Document:
 

Pièces jointes

  • Niceeee.xlsx
    18.5 KB · Affichages: 6
Solution
Bonjour,
Ce que tu demandes est possible uniquement en VBA sur l'événement Change de la feuille !

Pour le coup il n'y aura plus de formules mais un code VB qui fera le travail que tu veux accomplir !

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If NoMaj Then Exit Sub
If Target.Row > 20 Then
    If Target.Column = 9 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, 1) = "X" Else Target.Offset(0, 1) = ""
    End If
     If Target.Column = 10 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, -1) = "X" Else Target.Offset(0, -1) = ""
    End If
End If
Application.EnableEvents = True
End Sub

dysorthographie

XLDnaute Accro
Bonjour,
Ce que tu demandes est possible uniquement en VBA sur l'événement Change de la feuille !

Pour le coup il n'y aura plus de formules mais un code VB qui fera le travail que tu veux accomplir !

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If NoMaj Then Exit Sub
If Target.Row > 20 Then
    If Target.Column = 9 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, 1) = "X" Else Target.Offset(0, 1) = ""
    End If
     If Target.Column = 10 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, -1) = "X" Else Target.Offset(0, -1) = ""
    End If
End If
Application.EnableEvents = True
End Sub
 
Dernière édition:

LittleRedBeast7

XLDnaute Nouveau
Bonjour,
Ce que tu demandes est possible uniquement en VBA sur l'événement Change de la feuille !

Pour le coup il n'y aura plus de formules mais un code VB qui fera le travail que tu veux accomplir !

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If NoMaj Then Exit Sub
If Target.Row > 20 Then
    If Target.Column = 9 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, 1) = "X" Else Target.Offset(0, 1) = ""
    End If
     If Target.Column = 10 Then
      If IsNumeric(CStr(Target)) Then Target.Offset(0, -1) = "X" Else Target.Offset(0, -1) = ""
    End If
End If
Application.EnableEvents = True
End Sub
Woah, merci beaucoup! Vous avez repondu 12 minutes apres ma question, insane.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16