cela affiche 0 dans la cellule.
en fait après avoir fait le calcul il faudrait faire le contraire du découpage et donc rajouter le > dans la cellule devant le nombre. C'est le meme principe ?
Version imprimable
cela affiche 0 dans la cellule.
en fait après avoir fait le calcul il faudrait faire le contraire du découpage et donc rajouter le > dans la cellule devant le nombre. C'est le meme principe ?
Ajoute des chaînes
puisque cstr supprime l'espace que tu as à gauche du nombre converti en chaîne ;)Code:
1
2
3 Cells(NoLigne,NoColonne).value = "> " & cstr(pourc) 'ou Cells(NoLigne,NoColonne).value = ">" & str(pourc)
merci de ton aide, j'apprends plein de choses. J''ai essayé de faire une boucle for pour que cela calcule plusieurs cellules mais ca ne marche pas, ce qui est dommage. Je pense que le problème vient que chaque cellule est fusionnée. Mais vu que ce n'est pas moi qui ai créé ce fichier, je ne peux rien faire tout le tableau est fusionné de partout.
Il ne faut pas abandonne, tout est possible en informatique, même faire le café, si si.
Je suppose que les cellules ne sont pas fusionnés n'importe comment, il doit y avoir une logique.
Une fois que tu l'as trouvé, tu pourra trouver un moyen pour faire ta boucle.
j'ai trouvé j'ai utilisé la boucle While :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 NoLigne = 28 While NoLigne <= 43 NoColonne = 7 valeur = Val(Right(Cells(NoLigne, NoColonne).Formula, Len(Cells(NoLigne, NoColonne).Formula) - 2)) If UserForm2.text_pourc.Text < 0 Then pourc = valeur - (valeur * UserForm2.text_pourc.Text) Else pourc = (valeur * UserForm2.text_pourc.Text) - valeur End If 'mafeuille.Range("G28:H29") = pourc Cells(NoLigne, NoColonne).Value = "> " & CStr(pourc) NoLigne = NoLigne + 2 Wend
Comme mes cellules sont fusionnées en 2 à chaque fois il suffit d'ajouter 2 au numéro de ligne. Merci a vous tous, mon problème est résolu.