[Excel] Supprimer la virgule si zéro après ?

Supprimer la virgule si zéro après ? [Excel] - Logiciels - Windows & Software

Marsh Posté le 13-08-2007 à 15:55:34    

Bonjour,
 
Je fais en sorte qu'une colonne n'affiche les décimales après la virgule que si ce ne sont pas des zéros. Problème, cela m'affiche par exemple "6,, "7,". Bref, je voudrais que la virgule ne s'affiche que si la décimale n'est pas un zéro.
 
Merci  :jap:

Reply

Marsh Posté le 13-08-2007 à 15:55:34   

Reply

Marsh Posté le 13-08-2007 à 16:09:17    

Lmarco a écrit :

Bonjour,
 
Je fais en sorte qu'une colonne n'affiche les décimales après la virgule que si ce ne sont pas des zéros. Problème, cela m'affiche par exemple "6,, "7,". Bref, je voudrais que la virgule ne s'affiche que si la décimale n'est pas un zéro.
 
Merci  :jap:


 
Salut
 
Tes nombres sont-ils tous positifs et sont-ils classés par ordre croissant?

Reply

Marsh Posté le 13-08-2007 à 16:22:33    

TAM136 a écrit :


Salut
 
Tes nombres sont-ils tous positifs et sont-ils classés par ordre croissant?


 
Oui, tous positifs. En colonne verticale, mais pas d'ordre croissant. Ca donne par exemple :
 
3,
2,2
1,5
6,
4,
 
Etc  ;)

Reply

Marsh Posté le 14-08-2007 à 08:45:17    

J'ai une solution qui n'est pas forcément la plus simple.Il y a surement plus simple mais en attendant, je te la propose.Il s'agit de la macro suivante:
 
Sub DeleteDoubleZero()
For i = 1 To 8
'Tu remplaces 8 par ta dernière ligne
For j = 1 To 1
'Je suppose que tu n'as qu'une colonne
Cells(i, j).Select
If Cells(i, j) = 3# Or Cells(i, j) = 6# Or Cells(i, j) = 4# Then
'Tu continues bien sûr Or Cells(i, j) = 7,8...
Selection.NumberFormat = "0"
End If
Next j
Next i
End Sub
 
Je suppose que tes cellules sont au format nombre et que tu as donc: 3,00 par exemple.

Message cité 1 fois
Message édité par TAM136 le 14-08-2007 à 08:48:19
Reply

Marsh Posté le 14-08-2007 à 10:44:50    

TAM136 a écrit :

J'ai une solution qui n'est pas forcément la plus simple.Il y a surement plus simple mais en attendant, je te la propose.Il s'agit de la macro suivante:
 
Sub DeleteDoubleZero()
For i = 1 To 8
'Tu remplaces 8 par ta dernière ligne
For j = 1 To 1
'Je suppose que tu n'as qu'une colonne
Cells(i, j).Select
If Cells(i, j) = 3# Or Cells(i, j) = 6# Or Cells(i, j) = 4# Then
'Tu continues bien sûr Or Cells(i, j) = 7,8...
Selection.NumberFormat = "0"
End If
Next j
Next i
End Sub
 
Je suppose que tes cellules sont au format nombre et que tu as donc: 3,00 par exemple.


 
Merci ;)
 
Pb :
 
"Référence de variable de contrôle incorrecte dans next" (il souligne en jaune la première ligne si je met rien entre les parenthèses".
 
Si je veux appliquer ça à toute la colonne "D", je remplace "I" par "D", ou rien à voir ?  
 
(Je suis inculte en Visual Basic ^^)

Reply

Marsh Posté le 14-08-2007 à 12:32:18    

Lmarco a écrit :


 
Merci ;)
 
Pb :
 
"Référence de variable de contrôle incorrecte dans next" (il souligne en jaune la première ligne si je met rien entre les parenthèses".
 
Si je veux appliquer ça à toute la colonne "D", je remplace "I" par "D", ou rien à voir ?  
 
(Je suis inculte en Visual Basic ^^)


 
i représente la ligne
Par exemple For i=1 To 8 signifie de la ligne 1 à la ligne 8
Quand tu dis toute la colonne D, tu veux vraiemnt dire toute la colonne D ou de la ligne 1 à une autre ligne
 
j représente la colonne
For j=1 To 1 représnte la colonne 1
For j=4 to 4 représente la colonne 4 ou D
 
Je considère que ton 1er chiffre (3,00 si la cellule est bien au format nombre à 2 décimales) est en D1. Mais comme je te l'ai dit, je pense qu'il doit y avoir une autre solution d'auant plus que le code est imparfait et ne permet pas de convertir tous les nombres: il faut je pense une instruction du type For Each Cell In Column (D:D) ou Range ("D:D" )...mais là je sèche. Par contre,je ne comprends pas ton erreur.Tu n'as rien à mettre entre les parenthèses sur la 1ère ligne Sub...
 
Au fait comme me l'a suggéré Senior en MP, quel est le format de tes données?


Message édité par TAM136 le 14-08-2007 à 13:03:03
Reply

Marsh Posté le 14-08-2007 à 13:56:59    

tu mets ta colonne en format "standard" et ça devrait te les virer

Reply

Marsh Posté le 14-08-2007 à 14:34:29    

Je ne pouvais pas mettre en forme standard car je n'avais pas que les chiffres brut mais une abbréviation après. Donc format de cellule 0,#" abbréviation"
 
Mais la macro semble fonctionner, merci beaucoup ;)

Reply

Marsh Posté le 14-08-2007 à 15:39:01    

Lmarco a écrit :

Je ne pouvais pas mettre en forme standard car je n'avais pas que les chiffres brut mais une abbréviation après. Donc format de cellule 0,#" abbréviation"
 
Mais la macro semble fonctionner, merci beaucoup ;)


 
De rien.

Reply

Marsh Posté le 14-08-2007 à 15:55:38    

En fait ça marche, mais ça retire aussi l'abbréviation quand il y a un "0" après la virgule ^^

Reply

Marsh Posté le 14-08-2007 à 15:55:38   

Reply

Marsh Posté le 18-08-2007 à 10:17:09    

Lmarco a écrit :

En fait ça marche, mais ça retire aussi l'abbréviation quand il y a un "0" après la virgule ^^


 
Désolé mais je ne pense pas que j'aurai le temps de voir ça dans l'immédiat car je suis en vacances sous un soleil de plomb :lol:Je vais voir, si je peux faire quelque chose mais je ne te promets rien.


Message édité par TAM136 le 18-08-2007 à 10:18:06
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed