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 !
Ce code a pour but de dire:
Dans la zone selectionne
Est ce que la valeur est numerique et compris entre 0.001 et 0.999
Oui alors format pourcentage
Valeur pas numerique, alors format "general"
Une fois les format de cellule appliques alignement a droite..
Il y a certainement quelquechose qui m'echappe, alors peut etre qu'a plusieurs la solution pointera le bou de son nez 🙂)
Code:
With .Offset(1, 2).Resize(.Rows.Count - 1, 1)
.FormatConditions.Delete
If .IsNumeric = True Then
.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="0,001", Formula2:="0.999"
.FormatConditions(1).NumerFormat = "0%"
Else
If .IsNumeric = False Then
.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _
Formula1:="0.001", Formula2:="100"
.FormatConditions(2).NumberFormat = "General"
End If
.HorizontalAlignment = xlHAlignRight
End With
Si je suis sur la mauvaise voie ou vous voyer une autre technique, n'hesitez pas.
Le .Offset(1, 2).Resize(.Rows.Count - 1, 1), me permet de selectionner la colonne a traiter.
Re : Macro: probleme redaction mise en forme conditionelle
Bonjour sim,
Avant de te lancer dans ta macro, essaie de faire "normalement" une MFC sur une cellule: as-tu la possibilité de modifier le format des nombres dans la MFC? Si pas, il n'y a aucune raison que ça fonctionne par macro! Il faut donc, à ma connaissance, trouver une autre solution ... si tu nous expliquais ce que tu souhaites faire (avec un petit extrait de fichier en prime) ??
Re : Macro: probleme redaction mise en forme conditionelle
Bonjour Modeste, le forum!!
Merci pour ta reponse.
J'essaye toujours de mettre un petit exemple mais ce que je voudrais mettre en forme et le resultat d'une multitude de macro, ce qui me prendrais bcp de temps a refaire dans un exemple simplifier et asses leger pour le mettre ici sur le forum.
J'ai donc fait ce que tu m'as dit, j'ai essayer de faire une MFC a la main, et oui aucunes restrictions..
Pour te donner un peu plus de precision et de sens :S!! a ma demande voici quelques explication
En fait j'ai une feuille qui constitue un rapport evolutif, elle evolue en fonction d'un pays.
Sur cette feuille on trouve la copie du resultat de 5 TCD.
Ici il s'agit d'un tcd en particulier, ou plutot du resultat de sa copie.
Dans mon code, chaque zone representant cette copie est identifiee de la facon suivante
Case i pour i = 1 to 5
Ici on est dans Case 5.
Dans la colonne designee, j'ai deux type de valeur soit entre 0.001 et 0.999 qui sont en fait des pourcentage
et des valeur du type USD 1, ou encore USD 0.65 donc alphanumerique.
Voici un exemple pour qui fonctionne parfaitement pour une mise en forme de bordure et quelque autre detail. Je suis obliger d'utiliser le offset resize pour garder une coherence general de mon code
Code:
Case 3 'flows
.Font.Name = "Arial Narrow"
.Font.Size = 9
'on décale de 3 et retaille à 3 colonnes de largeur
With .Offset(, 3).Resize(, 4)
.Rows(1).Interior.ColorIndex = COLOR_FILL
.BorderAround LineStyle:=xlContinuous, Weight:=xlThin, ColorIndex:=1
.Borders(xlInsideVertical).LineStyle = xlNone
If .Rows.Count > 1 Then .Borders(xlInsideHorizontal).LineStyle = xlThin
End With
Ca ca marche tres bien, donc je voudrais sous le meme "format", ou stucture...faire ce dont je parlais dans mon premier post...
Penses tu que cela soit possible, et encore desole de ne pas pouvoir mettre d'exemple, je sais que ca rend les choses bcp plus difficil pour vous :S!
Re : Macro: probleme redaction mise en forme conditionelle
Modeste, le forum,
J'ai cru que ca avait marche en faisant une petite formule avec si(estnum(D😀),(D😀)*100,(D😀))
Evidemment ca ne fonctionne pas!!!! Et puis meme si ca avat marche ca n'aurait pas eu le resultat escompter.
Merci pour le petit bou de code je vais voir si je peux l'adapter ou non, dans tout les cas je reviens te dire.
- 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