reporter une valeur dans la cellule suivante si >0

G

gagey

Guest
Bonjour,
j'ai une série de chiffres sur une ligne. Si un chiffre est positif, je veux mettre zéro dans la cellule et rajouter la valeur qu'il y aurait du avoir dans formule de la cellule à droite.

voici un exemple numérique :

j'ai
-3 -10 5 -20 44 11 -444
je voudrais avoir :
-3 -10 0 -15 0 0 -389

Désolé, j'ai un peu perdu la main...
Merci par avance
guillaume
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir gagey, le Forum,

Si j'ai bien compris la question, tu copies le code VBA ci-dessous dans un module de code général (Module1 par exemple). Ensuite tu places la sélection sur la ligne souhaitée et tu lances cette macro.

Sub Traitement()
Dim L As Long
Dim
C As Integer, Cmax As Integer
Dim
M As Integer
      L = ActiveCell.Row
      Cmax = Cells(L, 256).End(xlToLeft).Column
      For C = 1 To Cmax
            M = M + Cells(L, C)
            If M >= 0 Then
                  Cells(L, C) = 0
            Else
                  Cells(L, C) = M
                  M = 0
            End If
      Next C
End Sub
Si la ligne peut comporter des nombres décimaux, il conviendra de remplacer :
Dim M As Integer
par
Dim M As double
Cordialement,
 
G

guillaumega

Guest
En fait pour donner quelques explications supplémentaires, il s'agit de calculs sur la tva. Comme on ne s'amuse pas à demander un remboursement à l'administration fiscale à chaque fois qu'elle nous doit un peut d'argent, on reporte le crédit sur la période suivante.

Merci pour votre formule mais j'ai jamais utilisé le VBA (-> j'y comprend pas grand chose :s ).
Vous pensez que le VBA est la seule solution ou est-il envisageable de sortir une formule?
 

Guillaumega

XLDnaute Impliqué
Bonjour,
arf j'ai essayé cette macro. Elle marche très bien lorsque j'ai le curseur sur la bonne ligne et que je travaille avec des valeurs.
Le seul souci c'est que je travaille avec des formules et que cette macro fort logiquement ne semble pas être compatible.
Je me permets donc de vous reposer la question, est-ce que vous avez une idée pour une formule s'il vous plait?
Merci par avance,
guillaumega
 

Guillaumega

XLDnaute Impliqué
Bonjour,
arf j'ai essayé cette macro. Elle marche très bien lorsque j'ai le curseur sur la bonne ligne et que je travaille avec des valeurs.
Le seul souci c'est que je travaille avec des formules et que cette macro fort logiquement ne semble pas être compatible.
Je me permets donc de vous reposer la question, est-ce que vous avez une idée pour une formule s'il vous plait?
Merci par avance,
guillaumega
 

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour Guillaumega, myDearFriend!,

Bien que la macro de myDearFriend! (bravo MDF)me paraisse des plus interessante suivant ta demande de formule voila un exemple dans le fichier joint.

Bonne journée

Jocelyn [file name=tva_20060208110137.zip size=1616]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/tva_20060208110137.zip[/file]
 

Pièces jointes

  • tva_20060208110137.zip
    1.6 KB · Affichages: 24

Guillaumega

XLDnaute Impliqué
la macro fonctionne en effet parfaitement si l'on travaille sur des séries de chiffres non issus de formules. Merci donc à l'auteur de cette macro!!
Merci aussi à vous qui m'avez donné la solution que je recherchait en vain et enfin, merci au lecteurs du forum qui harpentent les messages pour savoir sur lesquels ils sont en mesure d'aider/d'apprendre qqch!
A+
guillaumega
 

Discussions similaires

Réponses
2
Affichages
171

Statistiques des forums

Discussions
312 393
Messages
2 088 007
Membres
103 698
dernier inscrit
Guillaume MPOYI