Macro, ne prends pas en compte les nombres décimaux !

Résolu
harrywallez Messages postés 4 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 11 août 2009 - 10 août 2009 à 16:50
harrywallez Messages postés 4 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 11 août 2009 - 11 août 2009 à 09:43
Bonjour, étant en stage de fin d'études, je suis amené à travailler sur excel et à développer quelques macros... J'ai trouvé cette macro sur le net et l'ai un peu adapté. Elle élimine les doublons et somme les valeurs de ces doublons. tout tourne bien, le seul problème, c'est qu'elle ne prends pas en compte les nombres à virgule... j'ai essayé de changer les déclarations de variables, en vain. Je vous joins le fichier afin que vous puissiez vérifier par vous même : http://www.cijoint.fr/cjlink.php?file=cj200908/cijYSF2nbs.xls
En vous remerciant de votre aide précieuse.
Harry

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
10 août 2009 à 18:03
Salut,

dans ton cas la fonction val() en est la cause. A proscrire pour les calculs

remplace la boucle for J par celle-ci :

For j = 12 To 20
            If Not cellule.Offset(0, j - 1).Value = "" Then
                If Sheets(nomfeuille1).Cells(lig, j).Value "" Then Sheets(nomfeuille1).Cells(lig, j).Value 0
                Sheets(nomfeuille1).Cells(lig, j).Value = Sheets(nomfeuille1).Cells(lig, j).Value + cellule.Offset(0, j - 1).Value
            End If
            'ActiveSheet.Cells(lig, j).Value = ActiveSheet.Cells(lig, j).Value + ActiveSheet.cellule.Offset(0, j - 1).Value
Next j


mais le meilleur moyen serait encore de remplire les cellules vide d'un zero

A+
3
harrywallez Messages postés 4 Date d'inscription mardi 26 mai 2009 Statut Membre Dernière intervention 11 août 2009
11 août 2009 à 09:43
Un grand grand merci à toi bigfish le vrai, mon code prends maintenant en compte les décimales !!!!!

Bonne programmation à tous.
Harry
0
Rejoignez-nous