décimal VBA, choix du type de données

S

sylvain

Guest
bonsoir le forum,

je souhaiterais faire la moyenne de deux cellules en VBA, jusqu'ici pas de problème. Cependant les données vont par exemple de 0,1346 à 340 000.
Je déclare mes variable comme suit :

Sub moyennegroupe1()
Dim X As Integer, NbFichiers As Integer, Y As Integer, G As Integer, Z As Integer

Dim Tableau() As String
Dim Direction As String
Dim Dossier As String

Dim Valeur As Double
Dim Valeurfinale As Double


Dossier = 'c:\\simoporc\\sauvegarde\\Groupe1'
G = 8 'n° de ligne dans la BDD
Z = 7 'n° de la colonne dans la feuille synthèse
Application.ScreenUpdating = False




'Direction = Dir(ThisWorkbook.Path & '\\*.xls')
Direction = Dir(Dossier & '\\*.xls')

Do While Len(Direction) > 0 'liste tous les classeurs du repertoire
NbFichiers = NbFichiers + 1
ReDim Preserve Tableau(1 To NbFichiers)
Tableau(NbFichiers) = Direction
Direction = Dir()
Loop
Worksheets('synthèse').Cells(15, Z).Value = 0
If NbFichiers > 0 Then

For X = 1 To NbFichiers 'boucles sur les classeurs

' pour ne pas prendre en compte le classeur contenant la macro (synthese)
If Tableau(X) <> ThisWorkbook.Name Then

'Nb de truies


For Y = 1 To 1 'boucle sur les produits à récupérer
'recupere la valeur deja existante dans le tableau de synthese

Valeur = ActiveSheet.Cells(Y + 14, Z)

With ActiveSheet.Cells(Y + 14, Z) 'ajout des nouvelles valeurs
.Formula = '='' & Dossier & '\\[' & Tableau(X) & ']' & 'bdd' & ''!' _
& Cells(Y + G, 5).Address
.Value = .Value + Valeur
End With

Next Y

End If

Next X
Valeurfinale = ActiveSheet.Cells(15, Z).Value
Worksheets('synthèse').Cells(15, Z).Value = Valeurfinale / (NbFichiers)


End If

Le code ci dessous marche mais je n'ai pas la précision décimale 4 chiffres après la virgule. Comment puis je déclarer mes variables.
merci d'avance

sylvain
 

Hellboy

XLDnaute Accro
Bonjour sylvain

Les Types de données sont décrit dans l'aide de VBA. Une image pour te repérer: [file name=xldimage_20051010195932.zip size=47089]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/xldimage_20051010195932.zip[/file]

Et le type que tu cherche est Single
 

Pièces jointes

  • xldimage_20051010195932.zip
    46 KB · Affichages: 319

myDearFriend!

XLDnaute Barbatruc
Bonsoir sylvain, Hellboy,

En complément de la réponse de Hellboy,

Sylvain, peut-être pourrais-tu regarder aussi du côté du format des cellules stockant tes valeurs et également du côté de menu Outils / Options / onglet Calcul / rubrique Calcul avec la précision au format affiché (essaies notamment de décocher cette option).

Sauf erreur de ma part, une déclaration de type Single devrait être suffisante pour ces données.


Pour info :

TypeDonnees.gif


Cordialement,
 

Statistiques des forums

Discussions
312 076
Messages
2 085 084
Membres
102 772
dernier inscrit
bluetesteur