Créer une condition sur feuille complète, avec pour conséquence un calcul

alucard_xs

XLDnaute Occasionnel
Bonjour,

voilà sur une feuille C, je fais des calculs à partir d'autres feuilles, par exemple, dans la cellule 2B de feuille C , je fais cellule 2B de feuille B + cellule 2B de feuille A, idem pour cellule 3B, ensuite 4B ... etc puis colonne d'à côté 2C, 3C, bref toutes les cellules de ma feuille 2, j'aimerai bien dire à ma feuille C, voilà, si la valeur de la cellule concerné est < 10 alors tu fais rien :

si cell2_feuillA < 10 alors tu fais rien dans cell2_feuillC
etc ... poru toutes mes cellules de ma feuille B.

c'est pas très clair mais pas évident à expliquer.

EN vous remerciant ;)

ah oui au fait bon week-end à tous ;)
 

jeanpierre

Nous a quitté
Repose en paix
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

Bonsoir,

Non pas clair et sans fichier joint, encore moins... En Zippé le fichier stp et avec des explications ligne à ligne stp...

Bon week aussi.

Jean-Pierre
 

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

mon fichier n'est pas chez moi ... sinon pour être un peu plus clair, les cellules de mes feuilles C dépendent directement de la valeur des même cellules de la feuille A; donc si la valeur des cellules de ma feuille A < 10 alors les cellules en feuille C = 0 par exemple.


"dépendent directement"-> Cellule 2A feuille C correspond à Cellule 2A feuille A
Cellule 2B feuille C correspond à Cellule 2B feuille A
Cellule 3D feuille C correspond à Cellule 3D feuille A
etc

En fait, il me faudrait une macro de vérification. si en A cellule < 10 alors ... en C tu touches à rien.
 
Dernière édition:

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

voici ma macro qui colorise :

Code:
Sub color(nomfeuille)

For Each c In Worksheets(nomfeuille).range("C2:BH1600")
If c.Value > dblValeur Then

If c.Value <> "" Then
    If Abs(c.Value) < 50 Then
    c.Interior.ColorIndex = xlNone
    Else
        If Abs(c.Value) >= 50 And Abs(c.Value) < 100 Then 'and diff>nombre choisi Then
        c.Interior.ColorIndex = 19
            Else
                If Abs(c.Value) >= 100 And Abs(c.Value) < 300 Then
                c.Interior.ColorIndex = 6
                Else
                    If Abs(c.Value) >= 300 And Abs(c.Value) < 500 Then
                    c.Interior.ColorIndex = 45
                    Else
                    If Abs(c.Value) >= 500 And Abs(c.Value) < 1000 Then
    c.Interior.ColorIndex = 46
    End If
    If Abs(c.Value) > 1000 Then
    c.Interior.ColorIndex = 3
    End If
    End If
    End If
    End If
    End If
End If
Else: c.Interior.ColorIndex = xlNone
End If
Next c
End Sub
 

Tibo

XLDnaute Barbatruc
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

Bonjour,

En te lisant, on sait que ce n'est pas ce que tu veux obtenir...

L'idéal serait, comme Jean-Pierre l'avait suggéré, de joindre un petit bout de fichier exemple avec une petite explication sur le pourquoi du comment.

A te (re)lire avec ce fichier

@+

Edit : pas vu ton message de 11:33

Question VBA, je passe la main.

@+
 

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

et voici ma formule que j'utilise dans ma feuille C (de variation)

Code:
Sheets("variation").Select
Worksheets("variation").range("C2:C2").Select 
ActiveCell.FormulaR1C1 = "=IF(AND('feuille A!RC[3]<>"""",'feuille B '!RC[3]<>""""),ROUND((('feuille B'!RC[3]-'feuille A'!RC[3])/'feuille A'!RC[3])*100,1),"""")"
Set SourceRange = Worksheets("variation").range("C2:C2")
Set fillRange = Worksheets("variation").range("C2:C1600")
SourceRange.AutoFill Destination:=fillRange
Set SourceRange = Worksheets("variation").range("C2:C1600")
Set fillRange = Worksheets("variation").range("C2:BH1600")
SourceRange.AutoFill Destination:=fillRange 
color ("variation")
 

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

En fait, je calcule un taux de variation entre la feuille A et la feuille B, résultat que je met en C.
je colore ensuite en fonction du tx de variation, si par exmple, il est > 40% alors je met du rouge, ça ça marche niquel par contre, ce que je souhaiterai c'est que, si j'ai l'évolution suivante dans une cellule :

feuille A cellule 2 (par exemple)= 1
feuille B cellule 2 (obligatoire car je vais pas comparer cellule 2 et cellule 3 entre les feuilles) = 10

ça va me faire un tx de variation de 900 % donc c'est pas représentatif, donc pas la peine de mettre la case en rouge, car ça ne veut rien dire.

voilà, c'est peut etre un peu plus clair ... j'espère.
 

Tibo

XLDnaute Barbatruc
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

re,

Tes valeurs (feuilles A et B) fluctuent entre quelle et quelle valeur ?

Qu'est-ce qu'un taux représentatif (ou bien la limite pour qu'il ne soit plus représentatif) ?

Quelles couleurs veux-tu mettre et selon quel critère ?

A te (re)lire

En sachant qu'avec un petit bout de fichier, ça serait quand même mieux...

@+
 

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

pour les coleurs c'est bon j'ai déjà choisi, voir les lignes de commandes pour "color", sinon la valeur représentative est donnée par l'utilisateur dans une variable "dblValeur" qu'il rentre par une boite de dialogue, ça c'est ok aussi
 

alucard_xs

XLDnaute Occasionnel
Re : Créer une condition sur feuille complète, avec pour conséquence un calcul

et bien sinon dire que le taux est représentatif, équivaut à dire que mes valeurs en feuille A sont > à "dblValeur"

sinon mes valeurs feuille A ou B sont entre 0 et 5000


la color suivante se fait pour toutes les cellules actuellement, et moi j'aimerai bien qu'elle soit active uniquement pour les cellules en feuille A dont le nombre est > à la valeur "dblValeur" que va entrer l'utilisateur.

Code:
Sub color(nomfeuille)

For Each c In Worksheets(nomfeuille).range("C2:BH1600")

If c.Value <> "" Then
    If Abs(c.Value) < 50 Then
    c.Interior.ColorIndex = xlNone
    Else
        If Abs(c.Value) >= 50 And Abs(c.Value) < 100 Then 'and diff>nombre choisi Then
        c.Interior.ColorIndex = 19
            Else
                If Abs(c.Value) >= 100 And Abs(c.Value) < 300 Then
                c.Interior.ColorIndex = 6
                Else
                    If Abs(c.Value) >= 300 And Abs(c.Value) < 500 Then
                    c.Interior.ColorIndex = 45
                    Else
                    If Abs(c.Value) >= 500 And Abs(c.Value) < 1000 Then
    c.Interior.ColorIndex = 46
    End If
    If Abs(c.Value) > 1000 Then
    c.Interior.ColorIndex = 3
    End If
    End If
    End If
    End If
    End If
End If
Else: c.Interior.ColorIndex = xlNone
End If
Next c
End Sub

le but ça serait qu'elle ne tienne pas en compte les taux de variation qui ont été calculé à partir de la feuille A où la valeur < "dblValeur"
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 337
Messages
2 087 392
Membres
103 536
dernier inscrit
komivi