Excel : Modification du signe d'un nombre
Résolu
alainjjb
Messages postés
821
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 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
A voir également:
- Changer signe excel
- Changer dns - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
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)
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é !
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.
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
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 gras
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 gras
colm = Asc("D") - 64 ' remplacer D par colonne montant
colt = Asc("B") - 64 ' remplacer B par colonne type
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
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
... et surtout reste zen car je suis igniare en Excel. Comment faire en sorte que cette macro que tu m'as envoyée
soit exécutée à chaque saisie d'un montant.
Merci encore de m'accorder de ton temps
Alain