Je suis un peu dans le brouillard, si quelqu’un pouvait m’aider ça serait génial.
Voilà j’ai créé un fichier qui me permet de calculer automatiquement les valeurs de pièce mécanique par rapport aux tolérances nationales de celle-ci et aussi par rapport au possible traitement de celle-ci.
Bref, le problème vient des normes métrologiques qui m’oblige de mettre au même format au niveau des 0 après la virgule.
En effet, si la tolérance à un zéro après la virgule ou/et le traitement à deux zéros âpres la virgule, je dois prendre le format où il y a le plus de zéro après la virgule et le mettre partout sur la même ligne.
En clair le veut le même format dans toutes les cellules numéraires en fonction de 2 cellules.
Je voudrais bien faire du VBA dessus, car sur certaines cellules il y a déjà des formules et d’autres non (qui se remplies).
Le problème étant que je ne connais pas du tout cette fonction VBA et ne sais pas par où commencer.
Pour vous aider, j’ai mis en p. j. mon dossier réel sur lequel je suis en train de travailler, et voilà aussi la formule « standard » que je mettrai sur une cellule, telle que la cellule J13 par exemple en mise en forme conditionelle:
DROITE(OU(G13;G14;I13),3= «*** » avec en format ## ##,000
DROITE(OU(G13;G14;I13),2= «** » avec en format ## ##,00
DROITE(OU(G13;G14;I13),1= «* » avec en format ## ##,0
Bref, j’espère que je me suis fait comprendre.
Je pensais faire quelque chose du genre (trouver sur internet), si cela peut aider:
Code:
Dim oCel As Range
With Selection
For Each oCel In Selection.Cells
If IsNumeric(oCel.Value) Then
If oCel.Value = Int(oCel.Value) Then
oCel.NumberFormat = "#0"
Else
oCel.NumberFormat = "#0.##"
End If
End If
Next oCel
End With
End Sub
Bonjour,
Je vous remercie pour votre rapide réponse, ce que vous avez fait est bien dans le principe, le problème c'est qu'avec ça on ne peut pas dire a notre cellule $J$13:$J$14 "met toi au même format que la cellule où il y à le plus de décimal des trois cellules de comparaison"
Alors on pourrais essayer avec:
Mais là encore ca ne fonctionne pas car il n'y aura pas de hiérarchie.
Si on pouvais on le sans mise en forme conditionnel, dans le principe ca donnerai cela:
Il vaut mieux le faire avec les formules en =ET(ARRONDI($G13;a)=$G13;ARRONDI($G14;a)=$G14;ARRONDI($I13;a)=$I13)
en commençant par a=0 pour 0 décimales de façon à ce que les autres ne s'appliquent que s'il en faut davantage.
Super ça marche ,
je ne savais pas que mettre les règles de mise en forme conditionnelle avait une importante. Maintenant je le sais , MERCI !!
Alors petite modification, je suis partis dans les règles de la plus petite décimal à la plus grande.