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

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 !

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
 
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
 
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
 
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
 
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:
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
 
- 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
Retour