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 !

hervé_débutant

XLDnaute Nouveau
Bonjour le forum,

j'ai un petit problème avec une macro VBA que j'ai récupéré
Elle à pour but de me classer mes cellules mais elle arrondit leur valeur. En fait elle arrondit les valeur dans les cellules qui ont été déplacées.
Comment puis je éviter cela et garder 2 chiffre après la virgule ? j'ai besoin de votre aide

Merci beaucoup pour votre aide!

Hervé_débutant

PS: je ne peux pas trop vous renseigner sur la macro je n'en suis pas l'auteur, l'auteur qui se reconnaitra dans ce forum !!!


Voici la macro :


Option Explicit

Option Base 1

Const NbTriplets = 8
Const NbEnsembles = 10

Const strFSource = "Données Brutes"
Const strFDest_H = "Multip"

Const strFDest_V = "He"

Const Source_LDeb = 10
Const Source_ColDeb = 6
Const Dest_LDeb_H = 10
Const Dest_ColDeb_H = 6
Const Dest_LDeb_V = 10
Const Dest_ColDeb_V = 6

Sub ClasserDonnees()

Dim Tablo_H As Variant
Dim Tablo_V() As Variant

Dim Hauteur&
Dim LIGNE_H&, LIGNE_V
Dim i%, i_Ensembles%, i_NbTriplets%
Dim j%, k%
Dim Temp&

Sheets(strFSource).Select
LIGNE_H = Dest_LDeb_H
LIGNE_V = Dest_LDeb_V
Hauteur = Cells(65536, Source_ColDeb).End(xlUp).Row - Source_LDeb + 1

For i = Source_LDeb To Cells(65536, Source_ColDeb).End(xlUp).Row

Tablo_H = Range(Cells(i, Source_ColDeb), Cells(i, Source_ColDeb + 3 * NbTriplets * NbEnsembles - 1))

For i_Ensembles = 1 To NbEnsembles


For i_NbTriplets = 3 To (3 * (NbTriplets - 1)) Step 3
For j = (i_NbTriplets + 3) To (3 * NbTriplets) Step 3
If Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + i_NbTriplets) < Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + j) Then
For k = 2 To 0 Step -1
Temp = Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + j - k)
Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + j - k) = Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + i_NbTriplets - k)
Tablo_H(1, (i_Ensembles - 1) * 3 * NbTriplets + i_NbTriplets - k) = Temp
Next k
End If
Next j
Next i_NbTriplets
Next i_Ensembles

ReDim Tablo_V(1 To NbTriplets, 1 To (3 * NbEnsembles))
For j = 0 To (UBound(Tablo_H, 2) - 1)
Tablo_V((j \ 3) Mod 8 + 1, (j \ 24) * 3 + (j Mod 3 + 1)) = Tablo_H(1, j + 1)
Next j


With Sheets(strFDest_H)
.Cells(LIGNE_H, Dest_ColDeb_H).Resize(1, UBound(Tablo_H, 2)) = Tablo_H
LIGNE_H = LIGNE_H + 1
End With


With Sheets(strFDest_V)
.Cells(LIGNE_V, Dest_ColDeb_V).Resize(NbTriplets, (3 * NbEnsembles)) = Tablo_V
LIGNE_V = LIGNE_V + NbTriplets
End With

Erase Tablo_H
Erase Tablo_V
Next i

End Sub
 
Re : Arrondi intempestif

Re,
Salut JCGL, la météo chez toi semble aussi favorable à Excel que chez moi, ici ou ailleurs...
Je n'ai vu le fichier joint qu'après avoir répondu. J'ai testé et ça marche mais attention, il me semble que la cellule G14 n'était pas au format standard.
A+

Marco
 
Re : Arrondi intempestif

Re bonjour le forum, Re bonjour Jean-Pierre, bonjour Marco, bonjour JCGL

si je ne devais dire qu'un mot : ENORMERCI !!!!
c'est énorme !! c'est formidable !!! ça marche !! c'est génial !!! MERCI

Ha !!! merci !!! à vous tous et merci à Marco pour cette solution !! depuis le temps que je suis là dessus !!! je cris de joie devant mon ordi !!!

Toutes mes valeurs sont conservées sans arrondi, c'est génial !!! Encore merci

à très bientôt sur ce merveilleux forum !!! merciiiiiiiiiiiiiiiiiiiiiiiiiiiiii

PS: Jean-Pierre je ne comprends pas pourquoi tu ne vois pas le problème normalement tu aurais dû voir dans les feuilles de destination les valeurs arrondies ou pas....
 
Re : Arrondi intempestif

Re tout le monde,

effectivement il est très fort le marco !!!

Effectivement les valeurs ne sont pas effacées à chaque lancement de macro la confusion venait peut-être de là ?

En tout cas merci tout le monde, voilà un dimanche qui se termine en merveille

à Bientôt

hervé_débutant
 
Re : Arrondi intempestif

Re bonsoir à tous,
Je viens de voir le fichier joint.

Après essai, je confirme que l'erreur était bien là et en prime, je joins donc le fichier corrigé.

Comme pour JCGL, la météo est favorable au travaux excel. Il faut positiver.
Bonne fin de W.E. à toutes et tous.

Marco
 

Pièces jointes

Re : Arrondi intempestif

Re tous,

A la demande générale....

J'ai honte là.... voila, c'est dit....

Bouh....

Pour une fois que je ne regarde pas le code....

Désolé, mais la pluie frappe au carreau... Entrez.... (non, point trop n'en faut)...
 
- 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

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
45
Réponses
3
Affichages
569
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
10
Affichages
714
Réponses
2
Affichages
371
Retour