Transformer un nombre entier positif en négatif

Résolu
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014 - 18 oct. 2008 à 22:48
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014 - 19 oct. 2008 à 10:25
Bonsoir,
J'ai écrit quelques lignes de code qui consiste à transférer des données depuis la feuille "Balance" vers la feuille "K0" selon un format donné.
Dans la feuille "Balance" les données apparaissent dans une colonne "débit"  et dans une colonne "crédit". Cependant, que ce soit dans l'une ou l'autre colonne les nombres sont positifs, ce n'est que le numéro de compte qui permet d'assimiler un compte négatif comme par exemple le compte "139".
Dans le code suivant, le transfert s'effectue normalement mais je voudrais que les comptes 119 et 139 apparaissent en négatifs dans la feuille k0 car ensuite je fais une somme.De ce fait mon résultat est faussé.

Voici mon code :

Sub TransfertCaprop()
    Worksheets("K0").Activate
    Dim x As Integer ' declaration de variables
    Dim y As Integer ' ligne dans feuille "Balance
    Dim y_debut_caprop, y_fin_caprop As Integer ' Ligne dans feuille "B900"
    Dim y2 As Integer ' Ligne dans feuille "B900"
    Dim y3 As Integer ' ligne pour date dans Feuille "B900"
    Dim Date_exercice1 As Date
    Dim Date_exercice2 As Date
    Dim Plus As String
    Dim Moins As String
    Dim total_caprop_1, total_caprop_2 As Long
   

    total_caprop_1 = 0 ' Initialisation des variables
    total_caprop_2 = 0
   
   
    Date_exercice1 = Sheets("Accueil").Cells(36, 5).Value
    Date_exercice2 = Sheets("Accueil").Cells(32, 5).Value
   
    Plus = "+"
    Moins = "-"
   
    '---------------------------------------
    ' L'entête du tableau
   
    y2 = 11
   
    ' Ici on met en place les dates des exercices ainsi que leur format
    Sheets("k0").Cells(y2, 3).Value = Date_exercice1 'Affectation de la date d'exercice
    Sheets("k0").Cells(y2, 6).Value = Date_exercice2
    Sheets("k0").Range("C" & y2 & ":f" & y2).Select ' travail sur le format
    With Selection.Interior
       .Color = RGB(255, 255, 153)
    End With
    With Selection.Font
       .Bold = True
       .Size = 12
    End With
    With Selection
       .HorizontalAlignment = xlCenter
    End With
    With Selection.Borders
       .LineStyle = xlContinuous
    End With
   
    ' Ici on met en place les intitulés variations ainsi que en% + le format
    Sheets("k0").Cells(y2, 4).Value = "+" 'Affectation du nom à la cellule
    Sheets("k0").Cells(y2, 5).Value = "-"
    Sheets("k0").Range("d" & y2 & ":e" & y2).Select ' travail sur le format
    With Selection.Interior
       .Color = RGB(255, 255, 153)
    End With
    With Selection.Font
       .Bold = True
       .Size = 12
    End With
    With Selection
       .HorizontalAlignment = xlCenter
    End With
    With Selection.Borders
       .LineStyle = xlContinuous
    End With
   
    y = 11
    y2 = y2 + 2
   
   
    '---------------------------------------
    ' Les capitaux propres
   
    y_debut_caprop = y2
    y_fin_caprop = y_debut_caprop
   
    Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule est vide
        If Left(Sheets("Balance").Cells(y, 1).Value, 2) = "10" _
          Or Left(Sheets("Balance").Cells(y, 1).Value, 2) = "11" _
          Or Left(Sheets("Balance").Cells(y, 1).Value, 2) = "13" Then
           Call CopieLigneBilanPassif("Balance", y, "k0", y_fin_caprop)
          
           ' si capitaux propres négatifs
              If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "119" _
                 Or Left(Sheets("Balance").Cells(y, 1).Value, 3) = "139" Then
                   Call CopieLigneBilanActif("Balance", y, "k0", y_fin_caprop)
              End If
  
            total_caprop_1 = total_caprop_1 + Sheets("k0").Cells(y_fin_caprop, 6).Value
            total_caprop_2 = total_caprop_2 + Sheets("k0").Cells(y_fin_caprop, 3).Value
           
            y_fin_caprop = y_fin_caprop + 1
        End If  ' Fin de test
           
        y = y + 1 ' Compteur de la boucle, on incremente de 1
    Loop ' fin de la boucle
   
    ' Code qui trace les cases Total + somme des cellules et variation
    y_fin_caprop = y_fin_caprop + 1
       
    Sheets("k0").Cells(y_fin_caprop, 2).Value = "TOTAL BRUT" ' affectation de valeur à une cellule
   
    Sheets("k0").Cells(y_fin_caprop, 3).Value = total_caprop_2
    Sheets("k0").Cells(y_fin_caprop, 3).NumberFormat = "# ##0.00" ' definition du format de la cellule
   
    Sheets("k0").Cells(y_fin_caprop, 6).Value = total_caprop_1
    Sheets("k0").Cells(y_fin_caprop, 6).NumberFormat = "# ##0.00"
   
    Call FormateLigneTotalBilan("k0", y_fin_caprop)
    Call FormatGrilleBilan("k0", "a" & y_debut_caprop & ":f" & y_fin_caprop)
   
    End Sub

En fait, il faut que je puisse transformer les données des comptes 119 et 139 qui sont des nombres positifs en nombres négatifs. Mais je ne sais pas comme l'on fait.

Si quelqu'un'un peut m'aider je l'en remercie vivement

2 réponses

tovin Messages postés 164 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 14 août 2013 3
19 oct. 2008 à 06:55
Bonjour,
Transformer un nombre positif en nombre négatif ?
Pourquoi pas multiplier le nombre positif par -1 ?
2
rimbaut Messages postés 61 Date d'inscription jeudi 19 mai 2005 Statut Membre Dernière intervention 1 juin 2014
19 oct. 2008 à 10:25
Merci beaucoup tovin ça fonctionne
0
Rejoignez-nous