Autres [RÉSOLU] Pour éviter de taper - devant cellule

un internaute

XLDnaute Impliqué
Bonjour le forum
J'ai une cellule E8 qui est toujours positive (ex +72.43 €)
je dois la retaper manuellement (obligatoire) dans cellule G107 mais il faut que je tape -72.43
Comment pourrais-je éviter de taper le - (je me trompe souvent !!!)

Dans cellule G7 => format personnalisé => + # ##0.00 €;[Noir] - # ##0.00 €;[Noir]0.00 €
Dan la même cellule (G7) j'ai la MFC =NON(OU($G$107=($E$8*-1);$G$107=$E$3)) (la cellule E3 est toujours négative)
Je ne peux pas mettre de formule dans cellule G107 car quand je passe à l'année suivante la formule et effacée
Je ne peut pas fournir de fichier hélas.
Je ne sais pas si c'est possible
Merci à vous
Cordialement
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux essayer avec données validation, tu te mets sur la cellule "G107" puis dans le ruban "Données/ validation de données"
Validation de données
Autoriser sélectionner "Personnalisé"
mettre dans la fenêtre "Formule"
=G107>=0

JHA
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour un internaute; bonjour JHA, bonjour fanch55

Je n'y connais rien de rie en formule (donc j'ignore ce que représente ta formule "=Non...." mais essaye ceci en VBA :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("a1 ")) Is Nothing Then
        If IsNumeric(Target) Then
        Target = IIf(Target > 0, Target * -1, Target)
    End If
    End If

End Sub
Bonne journée à toutes & à tous

@+ Eric c
 

un internaute

XLDnaute Impliqué
Bonjour Eric C
J'ai mis comme ça dans la feuille année 2021 et ça met bien le -
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
If Not Application.Intersect(Target, Range("G107")) Is Nothing Then
        If IsNumeric(Target) Then
        Target = IIf(Target > 0, Target * -1, Target)
    End If
    End If
 Application.EnableEvents = True
End Sub

Mais si l'année suivante j'ai par exemple 100 dans cellule E3 je veux obtenir + dans cellule G107
En tout cas merci à toi on avance
 

un internaute

XLDnaute Impliqué
Re
C'est toujours cellule G107
Si nombre dans cellule E3 = résultat positif cellule G107
Si nombre dans cellule E8 = résultat négatif cellule G107
Si nombre positif dans cellule E6 = résultat négatif cellule G105
Si nombre négatif dans cellule E6 = résultat positif cellule G105

On ne peut pas compléter la macro en tenant compte des cellules E3 et E6 STP
D'avance merci
 
Dernière édition:

un internaute

XLDnaute Impliqué
Bonjour à tous
Voilà ça fonctionne
Merci àvous


VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
  If Not Application.Intersect(Target, Range("G107")) Is Nothing Then
    If IsNumeric(Target) Then
      If Range("E3") <> 0 Then
        Target = IIf(Target < 0, Target * -1, Target)
      ElseIf Range("E8") <> 0 Then
        Target = IIf(Target > 0, Target * -1, Target)
      End If
    End If
  ElseIf Not Application.Intersect(Target, Range("G105")) Is Nothing Then
    If IsNumeric(Target) Then
      If Range("E6") <> 0 Then
        Target = IIf(Range("E6") < 0, Abs(Target), Abs(Target) * -1)
      End If
    End If
  End If
 Application.EnableEvents = True
End Sub
 

Discussions similaires

Réponses
7
Affichages
312

Statistiques des forums

Discussions
312 107
Messages
2 085 360
Membres
102 874
dernier inscrit
Petro2611