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

  • Initiateur de la discussion Initiateur de la discussion sylvain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
Réponses
2
Affichages
527
Réponses
1
Affichages
323
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
450
Retour