Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Optimisation de code en vba pour excel


rimbaut

Messages recommandés

Bonjour,

J'ai une balance qui se présente comme suit sur la feuille "Balance "

 

Débit Crédit

60370000 Variat Stock V 42730,34

60370100 Variat Stock V.u. 29 859

60370400 Variat Stock V.o. 112448,89

60370500 Variat Stock Pr 34 040

60711200 Achats 150 000

60712000 Achats Transf 48 400

70450000 Vtes Travaux Ext 4234,93

70450002 Vtes Travaux Ext 35839,15

70610002 Ventes P. 1971,64

70620000 Vtes Main 23071,47

70620002 Vtes Main D'oeuvre 94842,74

70630002 Vtes M.o.ga 40658,43

70711100 Vtes V 73779,32

 

Ce que je voudrais faire est de faire le total des 607 (par exemple) ou des 603 ou encore des 707 et les recopier dans une cellule bien définie dans une autre feuille.

Pour ce faire, j'ai écrit ce code, mais je trouve qu'il fait usine à gaz et je me demande s'il n'est pas possible de l'optimiser d'autant plus qu'il ne fonctionne pas très bien.

En effet, parfois un montant d'un compte 6037 peur être débiteur mais le suivnat peut être créditeur. Or, je dois faire le total des 6037 et je ne sais comment faire.

 

Donc mes propos révèlent 2 questions :

- la 1er , peut on optimiser le code

- la 2ième, comment faire la compensation débit, crédit et affecter ce solde dans une cellule appropriée d'une autre feuille. En effet, on constate que les 603 sont pour certains débiteurs et pour d'autres créditeurs.

 

Voici mon code :

 

Sub TransfertCalculMarge()

Worksheets("B100").Activate

Dim x As Integer ' declaration de variables

Dim y As Integer ' ligne dans feuille "Balance

Dim y2 As Integer ' Ligne dans feuille "My B400"

 

Dim Date_exercice1 As Date

Dim Date_exercice2 As Date

Dim Variat As String

Dim En_pourcentage As String

 

Dim total_annee_1_701 As Long

Dim total_annee_1_707 As Long

Dim total_annee_1_706 As Long

Dim total_annee_1_607 As Long

Dim total_annee_1_601 As Long

Dim total_annee_1_713 As Long

Dim total_annee_1_6037 As Long

Dim total_annee_1_6031 As Long

 

Dim total_annee_2_701 As Long

Dim total_annee_2_707 As Long

Dim total_annee_2_706 As Long

Dim total_annee_2_607 As Long

Dim total_annee_2_601 As Long

Dim total_annee_2_713 As Long

Dim total_annee_2_6037 As Long

Dim total_annee_2_6031 As Long

 

total_annee_1_707 = 0 ' Initialisation des variables

total_annee_1_706 = 0

total_annee_1_701 = 0

total_annee_1_607 = 0

total_annee_1_601 = 0

total_annee_1_713 = 0

total_annee_1_6037 = 0

total_annee_1_6031 = 0

 

total_annee_2_707 = 0 ' Initialisation des variables

total_annee_2_706 = 0

total_annee_2_701 = 0

total_annee_2_607 = 0

total_annee_2_601 = 0

total_annee_2_713 = 0

total_annee_2_6037 = 0

total_annee_2_6031 = 0

 

Date_exercice1 = Sheets("Accueil").Cells(32, 5).Value

Date_exercice2 = Sheets("Accueil").Cells(36, 5).Value

 

Variat = ""

En_pourcentage = ""

 

 

y = 11

 

 

 

' Boucle et condition afin de parcourir la colonne 1 de la balance et

' rechercher les n° cptes commencant par 707

 

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, 3) = "701" Then ' test cherchant

'les comptes 701

total_annee_1_701 = total_annee_1_701 + Sheets("balance").Cells(y, 4).Value

 

End If ' Fin de test

 

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "707" Then ' test cherchant

'les comptes 707

total_annee_1_707 = total_annee_1_707 + Sheets("balance").Cells(y, 4).Value

 

End If ' Fin de test

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "706" Then ' test cherchant

'les comptes 707

total_annee_1_706 = total_annee_1_706 + Sheets("balance").Cells(y, 4).Value

 

End If ' Fin de test

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "607" Then ' test cherchant

'les comptes 707

total_annee_1_607 = total_annee_1_607 + Sheets("balance").Cells(y, 5).Value

 

End If ' Fin de test

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "601" _

Or Left(Sheets("Balance").Cells(y, 1).Value, 3) = "602" Then ' test cherchant

'les comptes 707

total_annee_1_601 = total_annee_1_601 + Sheets("balance").Cells(y, 3).Value

 

End If ' Fin de test

 

If Left(Sheets("Balance").Cells(y, 1).Value, 3) = "713" Then ' test cherchant

'les comptes 707

total_annee_1_713 = total_annee_1_713 + Sheets("balance").Cells(y, 4).Value

 

End If ' Fin de test

 

 

If Left(Sheets("Balance").Cells(y, 1).Value, 1) = "6037" Then ' test cherchant

'les comptes 707

If total_annee_1_6037 > 0 Then

total_annee_1_6037 = total_annee_1_6037 + Sheets("balance").Cells(y, 3).Value

Else

total_annee_1_6037 = total_annee_1_6037 + Sheets("balance").Cells(y, 4).Value

End If

End If ' Fin de test

 

 

If Left(Sheets("Balance").Cells(y, 1).Value, 4) = "6031" _

Or Left(Sheets("Balance").Cells(y, 1).Value, 4) = "6032" Then ' test cherchant

'les comptes 707

total_annee_1_6031 = total_annee_1_6031 + Sheets("balance").Cells(y, 4).Value

 

End If ' Fin de test

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

 

Sheets("b100").Cells(8, 3).Value = total_annee_1_707

Sheets("b100").Cells(10, 3).Value = total_annee_1_706

Sheets("b100").Cells(9, 3).Value = total_annee_1_701

Sheets("b100").Cells(13, 3).Value = total_annee_1_607

Sheets("b100").Cells(14, 3).Value = total_annee_1_601

Sheets("b100").Cells(20, 3).Value = total_annee_1_713

Sheets("b100").Cells(26, 3).Value = total_annee_1_6037

Sheets("b100").Cells(34, 3).Value = total_annee_1_6031

 

End Sub

 

Merci pour votre aide

Lien vers le commentaire
Partager sur d’autres sites

Plop,

 

Eh pour commencer, tu fais plusieurs Left() pour rien, tu le fais une fois puis tu compare...

Tant qu'on y est, tu veux comparer des valeur entieres, donc utilisons les comme telle ce sera beaucoup plus rapide...

En suite, un select case sera plus facile a lire et a gerer.

 

ce qui va nous donner un truc genre:

 

Dim lVal as long

Do While Sheets("Balance").Cells(y, 1).Value <> "" 

lVal = Clng(Left(Sheets("Balance").Cells(y, 1).Value, 3))

Select case lVale

case 606
total_annee_1_606 = total_annee_1_606 + Sheets("balance").Cells(y, 5).Value

case 607
total_annee_1_607 = total_annee_1_607 + Sheets("balance").Cells(y, 5).Value

case 608
etc....
End Select
y = y +1

loop

 

Bon c'est un exemple, reimplemente ton code avec cette methode ce sera deja plus rapide et plus clair ensuite on pourra regarder plus loin

 

++

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse sebdraluorg,

J'ai modifié le code comme tu me l'as indiqué. Toutefois, demeure le problème de compenser les 6037Deb par les 6037Cred.

En effet, j'ai essayé de compensé mais celà ne marche pas et je ne sais pourquoi.

 

Voici le code

 

Sub TransfertCalculMarge()

Worksheets("B100").Activate

Dim x As Integer ' declaration de variables

Dim y As Integer ' ligne dans feuille "Balance

Dim y2 As Integer ' Ligne dans feuille "My B400"

 

Dim Date_exercice1 As Date

Dim Date_exercice2 As Date

Dim Variat As String

Dim En_pourcentage As String

 

Dim total_annee_1_701 As Long

Dim total_annee_1_707 As Long

Dim total_annee_1_706 As Long

Dim total_annee_1_708 As Long

Dim total_annee_1_607 As Long

Dim total_annee_1_601 As Long

Dim total_annee_1_713 As Long

Dim total_annee_1_6037Deb As Long

Dim total_annee_1_6037Cred As Long

Dim total_annee_1_6031Deb As Long

Dim total_annee_1_6031Cred As Long

Dim total_annee_1_6097 As Long

 

Dim total_annee_2_701 As Long

Dim total_annee_2_707 As Long

Dim total_annee_2_706 As Long

Dim total_annee_2_708 As Long

Dim total_annee_2_607 As Long

Dim total_annee_2_601 As Long

Dim total_annee_2_713 As Long

Dim total_annee_2_6037Deb As Long

Dim total_annee_2_6037Cred As Long

Dim total_annee_2_6031Deb As Long

Dim total_annee_2_6031Cred As Long

Dim total_annee_2_6097 As Long

Dim lVal As Long

 

total_annee_1_707 = 0 ' Initialisation des variables

total_annee_1_706 = 0

total_annee_1_701 = 0

total_annee_1_607 = 0

total_annee_1_601 = 0

total_annee_1_713 = 0

total_annee_1_6037Deb = 0

total_annee_1_6037Cred = 0

total_annee_1_6031Deb = 0

total_annee_1_6031Cred = 0

total_annee_1_6097 = 0

total_annee_1_708 = 0

 

total_annee_2_707 = 0 ' Initialisation des variables

total_annee_2_706 = 0

total_annee_2_701 = 0

total_annee_2_607 = 0

total_annee_2_601 = 0

total_annee_2_713 = 0

total_annee_2_6037Deb = 0

total_annee_2_6037Cred = 0

total_annee_2_6031Deb = 0

total_annee_2_6031Cred = 0

total_annee_2_6097 = 0

total_annee_2_708 = 0

 

Date_exercice1 = Sheets("Accueil").Cells(32, 5).Value

Date_exercice2 = Sheets("Accueil").Cells(36, 5).Value

 

Variat = ""

En_pourcentage = ""

 

 

y = 11

 

 

 

' Boucle et condition afin de parcourir la colonne 1 de la balance et

' rechercher les n° cptes commencant par 601, 602, 603, 701, 706, 707

 

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule

' est vide

 

lVal = CLng(Left(Sheets("balance").Cells(y, 1).Value, 3))

 

Select Case lVal

Case 601

total_annee_1_601 = total_annee_1_601 + Sheets("balance").Cells(y, 3).Value

total_annee_2_601 = total_annee_2_601 + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Deb = total_annee_1_6031Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6031Deb = total_annee_2_6031Deb + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Cred = total_annee_1_6031Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6031Cred = total_annee_2_6031Cred + Sheets("balance").Cells(y, 6).Value

 

Case 6037

total_annee_1_6037Deb = total_annee_1_6037Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6037Deb = total_annee_2_6037Deb + Sheets("balance").Cells(y, 5).Value

 

Case 60370

total_annee_1_6037Cred = total_annee_1_6037Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6037Cred = total_annee_2_6037Cred + Sheets("balance").Cells(y, 6).Value

 

Case 607

total_annee_1_607 = total_annee_1_607 + Sheets("balance").Cells(y, 3).Value

total_annee_2_607 = total_annee_2_607 + Sheets("balance").Cells(y, 5).Value

 

Case 6097

total_annee_1_6097 = total_annee_1_6097 + Sheets("balance").Cells(y, 4).Value

total_annee_2_6097 = total_annee_2_6097 + Sheets("balance").Cells(y, 6).Value

 

Case 701

total_annee_1_701 = total_annee_1_701 + Sheets("balance").Cells(y, 4).Value

total_annee_2_701 = total_annee_2_701 + Sheets("balance").Cells(y, 6).Value

 

Case 706

total_annee_1_706 = total_annee_1_706 + Sheets("balance").Cells(y, 4).Value

total_annee_2_706 = total_annee_2_706 + Sheets("balance").Cells(y, 6).Value

 

Case 708

total_annee_1_708 = total_annee_1_708 + Sheets("balance").Cells(y, 4).Value

total_annee_2_708 = total_annee_2_708 + Sheets("balance").Cells(y, 6).Value

 

Case 707

total_annee_1_707 = total_annee_1_707 + Sheets("balance").Cells(y, 4).Value

total_annee_2_707 = total_annee_2_707 + Sheets("balance").Cells(y, 6).Value

 

End Select

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

 

Sheets("b100").Cells(8, 3).Value = total_annee_1_707

Sheets("b100").Cells(8, 4).Value = total_annee_2_707

 

Sheets("b100").Cells(10, 3).Value = total_annee_1_706 + total_annee_1_708

Sheets("b100").Cells(10, 4).Value = total_annee_2_706 + total_annee_2_708

 

Sheets("b100").Cells(9, 3).Value = total_annee_1_701

Sheets("b100").Cells(9, 4).Value = total_annee_2_701

 

Sheets("b100").Cells(13, 3).Value = total_annee_1_607 - total_annee_1_6097

Sheets("b100").Cells(13, 4).Value = total_annee_2_607 - total_annee_2_6097

 

Sheets("b100").Cells(14, 3).Value = total_annee_1_601

Sheets("b100").Cells(14, 4).Value = total_annee_2_601

 

Sheets("b100").Cells(20, 3).Value = total_annee_1_713

Sheets("b100").Cells(20, 4).Value = total_annee_2_713

 

Sheets("b100").Cells(26, 3).Value = total_annee_1_6037Deb - total_annee_1_6037Cred

Sheets("b100").Cells(26, 4).Value = total_annee_2_6037Deb - total_annee_2_6037Cred

 

Sheets("b100").Cells(34, 3).Value = total_annee_1_6031Deb - total_annee_1_6031Cred

Sheets("b100").Cells(34, 4).Value = total_annee_2_6031Deb - total_annee_2_6031Cred

 

 

End Sub

 

Merci pour ton aide

Lien vers le commentaire
Partager sur d’autres sites

hum case 6031 ? tu ne tombera jamais dedans, tu fais un Clng(Left(..,3)) donc tu n'auras jamais un nombre superieur a 999

 

Solution tu fais par exemple

 

s = Left(Sheets("balance").Cells(y, 1).Value, 4)

puis if IsNumeric(s) then lVal = Clng(s) else lVal = Clng(Left(s, 3))

 

++

Lien vers le commentaire
Partager sur d’autres sites

Invité Invité

Si je procède ainsi celà prend en compte les 6037 etc... mais plus les 707???

 

Voici mon code

 

.......

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule

' est vide

 

s = Left(Sheets("balance").Cells(y, 1).Value, 4)

If IsNumeric(s) Then lVal = CLng(s) Else lVal = CLng(Left(s, 3))

 

 

 

Select Case lVal

Case 601

total_annee_1_601 = total_annee_1_601 + Sheets("balance").Cells(y, 3).Value

total_annee_2_601 = total_annee_2_601 + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Deb = total_annee_1_6031Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6031Deb = total_annee_2_6031Deb + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Cred = total_annee_1_6031Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6031Cred = total_annee_2_6031Cred + Sheets("balance").Cells(y, 6).Value

 

Case 6037

total_annee_1_6037Deb = total_annee_1_6037Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6037Deb = total_annee_2_6037Deb + Sheets("balance").Cells(y, 5).Value

 

Case 60370

total_annee_1_6037Cred = total_annee_1_6037Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6037Cred = total_annee_2_6037Cred + Sheets("balance").Cells(y, 6).Value

 

Case 607

total_annee_1_607 = total_annee_1_607 + Sheets("balance").Cells(y, 3).Value

total_annee_2_607 = total_annee_2_607 + Sheets("balance").Cells(y, 5).Value

 

Case 6097

total_annee_1_6097 = total_annee_1_6097 + Sheets("balance").Cells(y, 4).Value

total_annee_2_6097 = total_annee_2_6097 + Sheets("balance").Cells(y, 6).Value

 

Case 701

total_annee_1_701 = total_annee_1_701 + Sheets("balance").Cells(y, 4).Value

total_annee_2_701 = total_annee_2_701 + Sheets("balance").Cells(y, 6).Value

 

Case 706

total_annee_1_706 = total_annee_1_706 + Sheets("balance").Cells(y, 4).Value

total_annee_2_706 = total_annee_2_706 + Sheets("balance").Cells(y, 6).Value

 

Case 707

total_annee_1_707 = total_annee_1_707 + Sheets("balance").Cells(y, 4).Value

total_annee_2_707 = total_annee_2_707 + Sheets("balance").Cells(y, 6).Value

 

Case 708

total_annee_1_708 = total_annee_1_708 + Sheets("balance").Cells(y, 4).Value

total_annee_2_708 = total_annee_2_708 + Sheets("balance").Cells(y, 6).Value

 

End Select

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

 

Sheets("b100").Cells(8, 3).Value = total_annee_1_707

Sheets("b100").Cells(8, 4).Value = total_annee_2_707

 

Sheets("b100").Cells(10, 3).Value = total_annee_1_706 + total_annee_1_708

Sheets("b100").Cells(10, 4).Value = total_annee_2_706 + total_annee_2_708

 

Sheets("b100").Cells(9, 3).Value = total_annee_1_701

Sheets("b100").Cells(9, 4).Value = total_annee_2_701

 

Sheets("b100").Cells(13, 3).Value = total_annee_1_607 - total_annee_1_6097

Sheets("b100").Cells(13, 4).Value = total_annee_2_607 - total_annee_2_6097

 

Sheets("b100").Cells(14, 3).Value = total_annee_1_601

Sheets("b100").Cells(14, 4).Value = total_annee_2_601

 

Sheets("b100").Cells(20, 3).Value = total_annee_1_713

Sheets("b100").Cells(20, 4).Value = total_annee_2_713

 

Sheets("b100").Cells(26, 3).Value = total_annee_1_6037Deb - total_annee_1_6037Cred

Sheets("b100").Cells(26, 4).Value = total_annee_2_6037Deb - total_annee_2_6037Cred

 

Sheets("b100").Cells(34, 3).Value = total_annee_1_6031Deb - total_annee_1_6031Cred

Sheets("b100").Cells(34, 4).Value = total_annee_2_6031Deb - total_annee_2_6031Cred

 

......

Lien vers le commentaire
Partager sur d’autres sites

Si je procède ainsi celà prend en compte les 6037 etc... mais plus les 707???

 

Voici mon code

 

.......

Do While Sheets("Balance").Cells(y, 1).Value <> "" ' la boucle s'arrete quand la cellule

' est vide

 

s = Left(Sheets("balance").Cells(y, 1).Value, 4)

If IsNumeric(s) Then lVal = CLng(s) Else lVal = CLng(Left(s, 3))

 

 

 

Select Case lVal

Case 601

total_annee_1_601 = total_annee_1_601 + Sheets("balance").Cells(y, 3).Value

total_annee_2_601 = total_annee_2_601 + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Deb = total_annee_1_6031Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6031Deb = total_annee_2_6031Deb + Sheets("balance").Cells(y, 5).Value

 

Case 6031

total_annee_1_6031Cred = total_annee_1_6031Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6031Cred = total_annee_2_6031Cred + Sheets("balance").Cells(y, 6).Value

 

Case 6037

total_annee_1_6037Deb = total_annee_1_6037Deb + Sheets("balance").Cells(y, 3).Value

total_annee_2_6037Deb = total_annee_2_6037Deb + Sheets("balance").Cells(y, 5).Value

 

Case 60370

total_annee_1_6037Cred = total_annee_1_6037Cred + Sheets("balance").Cells(y, 4).Value

total_annee_2_6037Cred = total_annee_2_6037Cred + Sheets("balance").Cells(y, 6).Value

 

Case 607

total_annee_1_607 = total_annee_1_607 + Sheets("balance").Cells(y, 3).Value

total_annee_2_607 = total_annee_2_607 + Sheets("balance").Cells(y, 5).Value

 

Case 6097

total_annee_1_6097 = total_annee_1_6097 + Sheets("balance").Cells(y, 4).Value

total_annee_2_6097 = total_annee_2_6097 + Sheets("balance").Cells(y, 6).Value

 

Case 701

total_annee_1_701 = total_annee_1_701 + Sheets("balance").Cells(y, 4).Value

total_annee_2_701 = total_annee_2_701 + Sheets("balance").Cells(y, 6).Value

 

Case 706

total_annee_1_706 = total_annee_1_706 + Sheets("balance").Cells(y, 4).Value

total_annee_2_706 = total_annee_2_706 + Sheets("balance").Cells(y, 6).Value

 

Case 707

total_annee_1_707 = total_annee_1_707 + Sheets("balance").Cells(y, 4).Value

total_annee_2_707 = total_annee_2_707 + Sheets("balance").Cells(y, 6).Value

 

Case 708

total_annee_1_708 = total_annee_1_708 + Sheets("balance").Cells(y, 4).Value

total_annee_2_708 = total_annee_2_708 + Sheets("balance").Cells(y, 6).Value

 

End Select

 

y = y + 1 ' Compteur de la boucle, on incremente de 1

 

Loop ' fin de la boucle

 

Sheets("b100").Cells(8, 3).Value = total_annee_1_707

Sheets("b100").Cells(8, 4).Value = total_annee_2_707

 

Sheets("b100").Cells(10, 3).Value = total_annee_1_706 + total_annee_1_708

Sheets("b100").Cells(10, 4).Value = total_annee_2_706 + total_annee_2_708

 

Sheets("b100").Cells(9, 3).Value = total_annee_1_701

Sheets("b100").Cells(9, 4).Value = total_annee_2_701

 

Sheets("b100").Cells(13, 3).Value = total_annee_1_607 - total_annee_1_6097

Sheets("b100").Cells(13, 4).Value = total_annee_2_607 - total_annee_2_6097

 

Sheets("b100").Cells(14, 3).Value = total_annee_1_601

Sheets("b100").Cells(14, 4).Value = total_annee_2_601

 

Sheets("b100").Cells(20, 3).Value = total_annee_1_713

Sheets("b100").Cells(20, 4).Value = total_annee_2_713

 

Sheets("b100").Cells(26, 3).Value = total_annee_1_6037Deb - total_annee_1_6037Cred

Sheets("b100").Cells(26, 4).Value = total_annee_2_6037Deb - total_annee_2_6037Cred

 

Sheets("b100").Cells(34, 3).Value = total_annee_1_6031Deb - total_annee_1_6031Cred

Sheets("b100").Cells(34, 4).Value = total_annee_2_6031Deb - total_annee_2_6031Cred

 

......

Lien vers le commentaire
Partager sur d’autres sites

erf wai je crois que je comprends...

En fait derriere 603 tu as encore des numeros, et donc les 4 caracteres pris sont consideré comme numeric et donc il garde les 4 caracteres...

 

Idee de solution, tu prends que les 3 premiers chiffres, et dans la case correspondante tu fais les test supplementaires, ainsi tu peux tout traiter sans probleme avec une structure qui reste assez simple.

 

++

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...