Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro, mise en forme si cellule contient un texte en particulier

  • Initiateur de la discussion Initiateur de la discussion rmk
  • Date de début Date de début

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 !

R

rmk

Guest
Bonjour,

Ci dessous ma macro et le point ou je bloque

En fait sur un tableau (voir PJ fichier test) je veux que certaines lignes avec 2 chiffres après la virgule, et pour d'autres des chiffres sans virgule... jusqu'ici tout va bien!
Par contre je veux que toutes les cellules contenant "0" ou "0,00" soit sans chiffre après la virgule.



Sub Macro1()
'
' Macro1 Macro
'

'
Range("D3:M12").Select
Selection.NumberFormat = "0.00"
Range("D8:M12").Select
Selection.NumberFormat = "0"

ici je bloque pour selectionner les cellules contenant "0"
Selection.NumberFormat = "0"

End Sub

je travail avec l'enregistreur de macro mais lorsque je fais "ctrl F", rechercher "0", "rechercher tout", selection de toutes les cellules et "fermer" et bien il n'enregistre rien dans la macro à part Range("D3:M12").Select 😡

merci pour votre coup de main!!

PS : est ce que If Value... Then serait la solution?
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro, mise en forme si cellule contient un texte en particulier

Bonsoir rmk

essaye ainsi si j'ai bien compris :

Code:
Dim c As Range
For Each c In Range("D3:M12")
    c.NumberFormat = IIf(c.Value - Int(c.Value) = 0, "0", "0.00")
Next c

bonne soirée
@+
 
Re : Macro, mise en forme si cellule contient un texte en particulier

Re,

A noter que l'on peut rajouter un test, s'il y a une possiblité de rencontrer des cellules contenant du texte...
Code:
Dim c As Range
For Each c In Range("D3:M12")
    If IsNumeric(c.Value) Then c.NumberFormat = IIf(c.Value - Int(c.Value) = 0, "0", "0.00")
Next c
 
Re : Macro, mise en forme si cellule contient un texte en particulier

Re,

aarf, pas tout compris moi, peut être comme ceci alors... :

Code:
Dim c As Range
For Each c In Range("D3:M12")
    If IsNumeric(c.Value) Then c.NumberFormat = IIf(c.Value = 0, "0", "0.00")
Next c
 
Re : Macro, mise en forme si cellule contient un texte en particulier

nickel merci!
pour ceux que ça interesserait la macro ci dessous

 
Re : Macro, mise en forme si cellule contient un texte en particulier

Re,

pas sûr que ces lignes ci dessous soient nécessaires :

Code:
Range("D3:M12").Select
Selection.NumberFormat = "0.00"

et :
Code:
Range("D8:M12").Select
Selection.NumberFormat = "0"
 
Re : Macro, mise en forme si cellule contient un texte en particulier

en fait c'est nécessaire car il y a de la mise en forme pou le reste des cellules (c'est pour une feuille excel plus complexe que le test

autre question... j'ouvre une feuille et je fais un save as pour pouvoir me faire les modif tranquillement, mais lorsque je lance la macro il me dit que le fichier existe déjà et me demande si on doit le remplacer.

est ce qu'il existe une commande pour valider cette text box sans qu'elle apparaisse?

Workbooks.Open Filename:="G:\statcom\historique.xls"
ActiveWorkbook.SaveAs Filename:="G:\statcom\historiquePM.xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
 
Re : Macro, mise en forme si cellule contient un texte en particulier

Bonjour mk,

essaye ainsi :

Code:
[COLOR="Blue"][B]Application.DisplayAlerts = False[/B][/COLOR]
ActiveWorkbook.SaveAs Filename:="G:\statcom\historiquePM.xls", FileFormat:= _
    xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
    , CreateBackup:=False
[B][COLOR="blue"]Application.DisplayAlerts = True[/COLOR][/B]

bonne journée
@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
561
Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…