Création macro arrondi.sup et condition

aktar

XLDnaute Nouveau
Bonjour,

J'ai des tableaux que je récupère sur un logiciel d'économétrie et j'aimerais pouvoir les modifier sur excel à l'aide d'une macro VBA avant de les exporter sur latex.

Les modifications ne sont pas très difficile mais elles sont en nombre conséquent (je dois le faire des dizaines de fois).

L'objectif est double:

Lorsque je sélectionne une plage de cellule(B1:C10 par exemple) j'aimerais pouvoir arrondir l'ensemble des nombres.


Lorsque je copie mes résultats dans excel, les nombres ont des dizaines de décimales.
La fonction arrondi.sup est pratique mais couteuse en temps. Je dois tirer la formule sur deux nouvelles colonnes, copier et coller les valeurs sur les colonnes d'origines. De plus sur ma plage d'origine il peut y avoir des cases vides... et cela crée des zeros que je dois supprimer dans ces cellules... bref ça fais bcp de manip

Le deuxième objectif est de créer des étoiles pour indiquer la significativité de mes coefficients (c'est la convention en économétrie).

J'ai créé cette formule:

=SI(H8>=0;SI(H8<=0,01;CONCATENER(G8;"*");SI(0,011<=H8;SI(H8<=0,05;CONCATENER(G8;"**");SI(0,051<=H8;SI(H8<=0,1;CONCATENER(G8;"***");G8))))))


qui signifie

une étoile * à la cellule de la colonne coef. (G8par exemple) si 0.000<H8(colonne signif.)<0.010 (avec des signe strictement ou égal à chaque fois)
deux étoiles ** à la cellule G8 si 0.011<H8<0.050
trois étoiles *** à la cellule G8 si 0.051<H8<0.100
pas d'étoile si > à 0,101

Bien évidemment je suis obligé avant tout d'arrondir les nombres des deux colonnes coef et signif comme je le précisais plus haut car sinon les étoiles apparaissent derrière les dizaines de décimales. De plus là encore je suis obligé de créer des nouvelles colonnes tirer les formules et copier les valeurs dans l'emplacement d'origine.

Je joins un fichier excel qui donne les données de base et le résultat final.

Merci beaucoup
 

Pièces jointes

  • Classeur1.xls
    56.5 KB · Affichages: 83
  • Classeur1.xls
    56.5 KB · Affichages: 82
  • Classeur1.xls
    56.5 KB · Affichages: 89

aktar

XLDnaute Nouveau
Re : Création macro arrondi.sup et condition

J'ai cette macro, mais elle arrondi à l'entier supérieur. Moi j'aimerais pouvoir arrondir à la troisème décimale.

Code:
Sub test1()
Dim c As Range
For Each c In Selection
If Left(c.FormulaLocal, 1) = "=" Then
c.FormulaLocal = "=ARRONDI(" & Right(c.FormulaLocal, _
Len(c.FormulaLocal) - 1) & ";)"
Else
If IsNumeric(c.Value) Then c.Value = Round(c.Value)
End If
Next c
End Sub
 

JNP

XLDnaute Barbatruc
Re : Création macro arrondi.sup et condition

Bonsoir :),
Pourquoi ne pas faire tout en une seule formule :p ?
Code:
=SI(B10="";"";ARRONDI.SUP(B10;3))&SI(C10>0;SI(ARRONDI.SUP(C10;3)<=0,01;"*";SI(0,011<=ARRONDI.SUP(C10;3);SI(ARRONDI.SUP(C10;3)<=0,05;"**";SI(0,051<=ARRONDI.SUP(C10;3);SI(ARRONDI.SUP(C10;3)<=0,1;"***";"")))));"")
J'ai pas bien compris pourquoi dans les dernières valeurs, il y a une étoile alors que la colonne C est égale à 0 :confused:...
Bonne soirée :cool:
 

Discussions similaires

Réponses
20
Affichages
1 K

Statistiques des forums

Discussions
312 396
Messages
2 088 054
Membres
103 709
dernier inscrit
FrrankX