Remplacer la valeur 0 par un blanc ou tiret

Remplacer la valeur 0 par un blanc ou tiret - VB/VBA/VBS - Programmation

Marsh Posté le 02-11-2010 à 20:44:11    

Bonsoir,  
 
J'ai une macro qui rempli des valeurs numériques mais, dans un but plus "estétique", je souhaiterai avoir un blanc ou un tiret à la place de zéro.  
 
Comment puis-je faire S.V.P? merci
 
Bien à vous
 
Coellophysis

Reply

Marsh Posté le 02-11-2010 à 20:44:11   

Reply

Marsh Posté le 02-11-2010 à 21:12:09    

Je suppose que c'est pour Exel. De toutes manières c'est presque pareil pour Access et VB.
 
Il faut choisir un format de cellule qui fait cela. Si ça n'existe pas en standard, faîtes un format personnalisé en vous inspirant du format pour les numéros de téléphone.

Reply

Marsh Posté le 03-11-2010 à 17:43:56    

un exemple de ce que tu veux ?
 
la valeur est "0000000378"
et tu veux "-------378" ?
 
 
en VB la fonction suivante :
replace("0000000378","0","-" )
va rendre "-------378"

Reply

Marsh Posté le 07-11-2010 à 22:10:28    

Xxxaaavvv a écrit :

un exemple de ce que tu veux ?
 
la valeur est "0000000378"
et tu veux "-------378" ?
 
 
en VB la fonction suivante :
replace("0000000378","0","-" )
va rendre "-------378"


 
 
Bonsoir, je ne suis pas très familier avec la fc "Replace" en VBA, ça ne marche pas, je vous montre ma macro:
 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Quotes!C[-3]:C[11],5,FALSE)*3"  
                        If ActiveCell.FormulaR1C1 = 0 Then
                        ActiveCell.FormulaR1C1 = Replace("0", 1, 1, "-" )
                         
                        End If
 
Je vous remercie d'avance

Reply

Marsh Posté le 08-11-2010 à 17:53:12    

Coellophysis a écrit :


 
 
Bonsoir, je ne suis pas très familier avec la fc "Replace" en VBA, ça ne marche pas, je vous montre ma macro:
 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Quotes!C[-3]:C[11],5,FALSE)*3"  
                        If ActiveCell.FormulaR1C1 = 0 Then
                        ActiveCell.FormulaR1C1 = Replace("0", 1, 1, "-" )
                         
                        End If
 
Je vous remercie d'avance


 
Premièrement je suppose que ceci :  
 
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Quotes!C[-3]:C[11],5,FALSE)*3"
 
est la formule qui te donne une valeur ?
puis que cette valeur tu veux la traiter ...
donc :
 
ActiveCell.Value= Replace(ActiveCell.Value,"0", "-" )
 
le If que tu a mis semble ne servir a rien...                        
 

Reply

Marsh Posté le 09-11-2010 à 14:11:30    

C'est pas une bonne idée Xxxaaavvv, justement le If est important...
 
Dans ton cas avec une valeur : 00000003708
Ca donnerait : -------37-8
 
Ouch...
 
Alors qu'avec :

Code :
  1. ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],Quotes!C[-3]:C[11],5,FALSE)*3" 
  2.    If ActiveCell.Value = 0 Then ActiveCell = "-"

 
No problemo


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

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