Excel : Modification du signe d'un nombre
Résolu
alainjjb
Messages postés
747
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
peut-on, sous Excel modifier le signe d'un nombre sans ajouter une nouvelle colonne ? Explications : je prépare un tableau de suivi des mouvements sur compte pour les trésoriers d'une association basé sur le tableau croisé dynamique . Ce dernier implique de signer les montants. Signe que je ne voudrais pas faire saisir par les trésoriers mais conditionner par la nature de la ligne correspondante (Recette / Dépense/...). Peut-on le faire simplement : le trésorier saisit 100 et s'il s'agit d'une ligne dépense enregistrer -100.
Merci d'avance
Alain
peut-on, sous Excel modifier le signe d'un nombre sans ajouter une nouvelle colonne ? Explications : je prépare un tableau de suivi des mouvements sur compte pour les trésoriers d'une association basé sur le tableau croisé dynamique . Ce dernier implique de signer les montants. Signe que je ne voudrais pas faire saisir par les trésoriers mais conditionner par la nature de la ligne correspondante (Recette / Dépense/...). Peut-on le faire simplement : le trésorier saisit 100 et s'il s'agit d'une ligne dépense enregistrer -100.
Merci d'avance
Alain
Configuration: Windows XP Firefox 2.0.0.14
4 réponses
-
bonjour
Comme tu ne me dis pas les colonnes concernées, je t'ai fait la macro paramétrable à placer dans la feuille de saisie (voir mode d'emploi, si nécessaire)Private Sub Worksheet_Change(ByVal sel As Range) Dim colm As Integer ' colonne montant Dim colt As Integer ' colonne type colm = Asc("D") - 64 ' remplacer D par colonne montant colt = Asc("B") - 64 ' remplacer B par colonne type If sel.Column = colm And Cells(sel.Row, colt) = "Dépense" Then Application.EnableEvents = False sel.Value = sel.Value * -1 Application.EnableEvents = True End If End Sub -
bonjour
Ah ! L'informatique.
Elle ne pardonne pas les erreurs : c'est 0 ou 1 pas peut-être !
Heureux de t'avoir aidé ! -
bonjour
C'est possible de le faire avec une macro événementielle toute simple mais pour cela il faudrait nous dire en fonction de quoi on reconnaît une dépense car il faut bien pouvoir distinguer avec la saisie d'une autre cellule de la même ligne le négatif du positif.-
Bonjour Gbinforme,
c'est la valeur de la colonne "Nature" (Recette / Dépense) de cette même ligne qui conditionne le signe du montant saisi. Si la colonne "Nature" pour cette ligne est valorisée à "Recette" le montant saisi est positif, si cette même colonne est valorisée à "Dépense" le montant est négatif.
Merci
Alain
-
-
bonjour
C'est une macro événementielle qui se déclenche automatiquement sans rien faire d'autre que la saisie lors de chaque saisie et modifie la colonne montant paramétrée.
Tu suis le lien du mode d'emploi que je t'ai mis pour la copier sur la feuille VBA de saisie et tu remplaces les bonnes colonnes à l'endroit précisé en grascolm = Asc("D") - 64 ' remplacer D par colonne montant colt = Asc("B") - 64 ' remplacer B par colonne type-
Gbinforme tu es très fort !!!
MERCI beaucoup. Ca marche. Excellent.
J'ai effectivement suivi ton mode d'emploi et miracle : CA MARCHE !!!
MERCI Encore
Alain- Gbinforme,
je ne comprends plus rien ... L'informatique a ses mystères !!! Ca ne marche plus d'un seul coup. J'ai essayé dans un autre classeur : Idem. Que s'est-il donc passé ?
Ce que je fais :
Outil -> Macros -> Visual Basic Editor -> Affichage -> Explorateur de projets -> Data (nom de ma feuille) sur laquelle je double clique - Coller (ta macro) -> modification des colonnes -> Enregistrer -> Fermer et retourner à microsoft Excel
Est-ce OK ?
Alain
-