probleme avec macro et fonction "si"

eiffel

XLDnaute Nouveau
bonjour a tous,

je souhaiterais modifier un fichier excel avec des macros.
dans la colonne B j'ai des longueurs et dan la colonne c aussi. je voudrais que la cellule C8 (par exemple) devienne Rouge si B8 est Inferieur a C8, mais que c9 ne change pas car B9 sup a C9 (jai essayé avec la fonction "si" mais je n'arrive pas a le realisé a cause des macros)
exemple:

B8 = 17 C8 = 20
B9 = 10 C9 = 5

le nombre de ligne n'est pas fixe car mes colonnes sont des macro.
ai je été clair?

Merci d'avance
 

eiffel

XLDnaute Nouveau
Re : probleme avec macro et fonction "si"

alors comment vous expliquer?

dans la colonne B j'ai la longueur de foret de percage.
dans la colonne C j'ai la profondeur du percage.

si mon foret est plus court que mon percage (donc si B < C) ca ne peut pas marcher, normal!
etant donné que mon fichier excel est créé automatiquement a partir d'un logiciel de dessin industriel, (grace aux macro pour les longueurs) et que le nombre de percage varie, il peut y avoir 2 percages (donc 2 lignes sous excel), ou 60 (donc 60 lignes)... je n'arrive pa utilisé la fonction si qui ne fonctionne pas avec les macros.

Pouvez vous m'aider a faire en sorte que si la case B est inferieur a C alors la case C devienne Rouge?

merci
 

LPandre

XLDnaute Impliqué
Re : probleme avec macro et fonction "si"

Bonjour,
si j'ai bien compris :
le logiciel de dessin "fabrique" le fichier Excel
=> la macro qui ferait les "si" ne peut pas être dans le fichier Excel car il faudrait la refaire à chaque fois
=> faire la macro dans le classeur perso.xls, ou dans un fichier de macro complémentaire

Après il possible de faire en sorte qu'Excel passe de ligne en ligne jusqu'à la dernière renseignée, et si la cellule de droite est d'une valeur plus élevée que celle de gauche ( A9-A8 > 0) alors police en rouge.

Mais est ce bien cela dont il s'agit ???

@+
 

eiffel

XLDnaute Nouveau
Re : probleme avec macro et fonction "si"

=> faire la macro dans le classeur perso.xls, ou dans un fichier de macro complémentaire

Après il possible de faire en sorte qu'Excel passe de ligne en ligne jusqu'à la dernière renseignée, et si la cellule de droite est d'une valeur plus élevée que celle de gauche ( A9-A8 > 0) alors police en rouge.

Mais est ce bien cela dont il s'agit ???

@+


oui il s'agit bien de cela,

jai un fichier "type " qui est appelé dès que je demande au logiciel de tranferer mes données sous excel.
je sais que c'est dans ce fichier que je dois modifier pour realiser cette operation.
Mais quel est la formule que je dois ajouter ? car la fonction Si ne fonctionne que si on met la colonne et la ligne (ex : B8-C8<0) alors que moi je ne voudrait mettre que la colonne (exemple B-C>0 alors police en rouge)

???

Kenavo
 

LPandre

XLDnaute Impliqué
Re : probleme avec macro et fonction "si"

Re :
sous réserve de ceux qui prouveront le contraire ( et ils peuvent être nombreux), je ne crois pas possible d'indiquer à Excel une formule juste référencée à des colonnes et non à des cellules.
reste que si tu fais la soustraction B2-A2, et le résultat est négatif, c'est que la longueur du forêt est trop courte, alors choisi de formater tes nombres en format personnalisé type : # ##0\ _€;[Rouge]-# ##0\ _€ par exemple.
Le but étant d'avoir du rouge en cas de chiffre négatif.

Par contre il te faudra recopier la formule et le format pour l'ensemble des lignes créées.
ça peut se faire en macro si tu as beaucoup de lignes e nce qui concern la formule, par contre je t'invite à d'or et déjà formater tes cellules pour le rouge dans ton fichier type.
Sinon ,tu envoies le fichier type en pièce jointe zippé, et on te fait ça avant demain soir
@+
 

eiffel

XLDnaute Nouveau
Re : probleme avec macro et fonction "si"

c'est presque ca,

dans ton fichier en fait je ne veu pa d ela colonne C (je ne veux pas la difference)
mais je veu que la case en B devienne rouge si B>A
dans ton fihier en fait je souhaiterais que Le 3 (en B2) soit en rouge.

Tu vois?

merci beaucoup
 

TooFatBoy

XLDnaute Barbatruc
Re : probleme avec macro et fonction "si"

Essaye un truc comme ça :
Code:
Sub MiseEnRouge()
Dim Lig As Double
Lig = 8
While Cells(Lig, 3) <> ""
    If Cells(Lig, 3) > Cells(Lig, 2) Then Cells(Lig, 3).Font.ColorIndex = 3
    Lig = Lig + 1
Wend
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 492
Messages
2 088 925
Membres
103 984
dernier inscrit
maliko67