Mettre le signe négatif dans certaines cellules
Résolu
gercot1972
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
gercot1972 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
gercot1972 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je travaille tout les jours sur un fichier excel d'environ 2000 lignes (nombre variable d un jour a l autre)
j'ai réussi à créer une macro en enregistrant mes manipulations quotidiennes mais dés que j'ai plus de lignes ca ne fonctionne plus , je reviendrai vers vous pour ce problème .
La ou je bloque pour le moment , c'est que dans un des onglets de mes tableaux composés des colonnes suivantes: libellés /montant/débit ou crédit
je souhaiterai une formule a appliquer a ma colonne montant qui m'insérer un signe négatif si la colonne "débit crédit" contient un C et qu'elle reste identique si elle contient un D
vous remerciant par avance de l'aide que vous pourriez m'apporter car après j'utilise les sous totaux et mes résultats sont donc faux
merci d avance
Géraldine
je travaille tout les jours sur un fichier excel d'environ 2000 lignes (nombre variable d un jour a l autre)
j'ai réussi à créer une macro en enregistrant mes manipulations quotidiennes mais dés que j'ai plus de lignes ca ne fonctionne plus , je reviendrai vers vous pour ce problème .
La ou je bloque pour le moment , c'est que dans un des onglets de mes tableaux composés des colonnes suivantes: libellés /montant/débit ou crédit
je souhaiterai une formule a appliquer a ma colonne montant qui m'insérer un signe négatif si la colonne "débit crédit" contient un C et qu'elle reste identique si elle contient un D
vous remerciant par avance de l'aide que vous pourriez m'apporter car après j'utilise les sous totaux et mes résultats sont donc faux
merci d avance
Géraldine
A voir également:
- Ajouter un signe dans une colonne excel
- Déplacer une colonne excel - Guide
- Trier colonne excel - Guide
- Formule somme excel colonne - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
7 réponses
Salut!
Je ne sais pas si ma solution sera la meilleure, mais voici ma proposition :
Tu pourrais faire une 4e colonne (D) avec la formule suivante :
=SI(C1="c";-B1;B1)
Dans cet exemple, la colonne B est ton montant et la C est ton débit/crédit.
Tu pourrais créer une macro qui créé la formule, qui copie la colonne D dans la colonne B en copiant la valeur uniquement.
:)
Je ne sais pas si ma solution sera la meilleure, mais voici ma proposition :
Tu pourrais faire une 4e colonne (D) avec la formule suivante :
=SI(C1="c";-B1;B1)
Dans cet exemple, la colonne B est ton montant et la C est ton débit/crédit.
Tu pourrais créer une macro qui créé la formule, qui copie la colonne D dans la colonne B en copiant la valeur uniquement.
:)
Le soucis , c est que je dois présenter le tableau:
- soit avec deux colonnes montant (1 pour le débit , une pour le crédit ); dans ce cas cette formule malheureusement (que j'ai déja essayé) ne fonctionne plus puisque les montants de références ne peuvent pas rester dans la colonne débit. ou alors il faut une macro qui créé une colonne "montant crédit" et déplace que le montant des cellules de la colonne montant si "C" se trouve dans la colonne "débit crédit"
-soit avec une seule colonne montant (qui regroupe les débits et crédits) mais avec les crédit en négatif
merci malgré tout de votre réponse
- soit avec deux colonnes montant (1 pour le débit , une pour le crédit ); dans ce cas cette formule malheureusement (que j'ai déja essayé) ne fonctionne plus puisque les montants de références ne peuvent pas rester dans la colonne débit. ou alors il faut une macro qui créé une colonne "montant crédit" et déplace que le montant des cellules de la colonne montant si "C" se trouve dans la colonne "débit crédit"
-soit avec une seule colonne montant (qui regroupe les débits et crédits) mais avec les crédit en négatif
merci malgré tout de votre réponse
Comment utilises-tu (en détail) la commande SOUS-TOTAL ?
Il serait certainement plus efficace d'utiliser la fonction SOMME.SI ...
Il serait certainement plus efficace d'utiliser la fonction SOMME.SI ...
voici mon document, j'espère que vous aurez accès a la macro
j'ai mis sur chaque onglet ce que je souhaite obtenir au final , ce qui n'est pas le cas actuellement à 100%
mes plus gros problèmes actuels sont:
mettre en négatif certain nombre
et le problème du nombre de ligne qui est différent tous les jours
bien à vous et merci d avance
https://www.cjoint.com/?0LxupFAHcPP
j'ai mis sur chaque onglet ce que je souhaite obtenir au final , ce qui n'est pas le cas actuellement à 100%
mes plus gros problèmes actuels sont:
mettre en négatif certain nombre
et le problème du nombre de ligne qui est différent tous les jours
bien à vous et merci d avance
https://www.cjoint.com/?0LxupFAHcPP
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
une proposition en vba.
Je n'ai pas recherché la performance absolue, qcq feuille à 2000 lignes ça devrait aller assez vite. Et ça sera plus simple à comprendre ;-)
Mettre à jour le nom des feuilles à traiter dans la constante listeF
Si tu veux faire en pas à pas (F8), met en commentaire 'Application.ScreenUpdating = False' pour voir l'évolution sur la feuille.
derLig est la dernière ligne à traiter. On la trouve en partant de la dernière lignes de la feuille, et on remonte vers le haut, sur une colonne qu'on sait complète.
A mettre dans un module standard :
Bonnes fêtes à tous
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
une proposition en vba.
Je n'ai pas recherché la performance absolue, qcq feuille à 2000 lignes ça devrait aller assez vite. Et ça sera plus simple à comprendre ;-)
Mettre à jour le nom des feuilles à traiter dans la constante listeF
Si tu veux faire en pas à pas (F8), met en commentaire 'Application.ScreenUpdating = False' pour voir l'évolution sur la feuille.
derLig est la dernière ligne à traiter. On la trouve en partant de la dernière lignes de la feuille, et on remonte vers le haut, sur une colonne qu'on sait complète.
A mettre dans un module standard :
Option Explicit Sub C_Negatif() ' liste des feuilles à traiter, mettre une , finale Const listeF As String = "DETTES,47511 DETTES,475 MUT," Dim sh As Worksheet, c As Range Dim derlig As Long, lig As Long, colM As Long Application.ScreenUpdating = False For Each sh In Worksheets If InStr(listeF, sh.Name & ",") > 0 Then derlig = sh.Cells(Rows.Count, "D").End(xlUp).Row 'recherche colonne Montant, colonne Sens supposée juste après ' attention, sensible aux majuscules/minuscules Set c = sh.Rows(1).Find("montant", LookIn:=xlValues) If c Is Nothing Then MsgBox "'montant' non trouvé dans la feuille " & sh.Name Else colM = c.Column ' colonne "montant" For lig = 2 To derlig If sh.Cells(lig, colM) > 0 And sh.Cells(lig, colM + 1) = "C" Then ' si montant positif et sens C sh.Cells(lig, colM) = -sh.Cells(lig, colM) End If Next lig End If End If Next sh Application.ScreenUpdating = True End Sub
Bonnes fêtes à tous
eric
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
Merci
bonjour
je suis un peux en retard mes bon ca peux te servir
http://cjoint.com/?3Lyk2bX5uoO
A+
Maurice
je suis un peux en retard mes bon ca peux te servir
http://cjoint.com/?3Lyk2bX5uoO
A+
Maurice