Aide avec fonction Si

Résolu
ben -  
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -
Hello,

Je n'arrive pas a faire la fonction suivante:
Si colonne G est supérieure à 1 et inférieur à 7 alors indiquer < 7 Days
sinon
Si colonne G est supérieur ou égal à 7 et inférieur ou égal à 12 alors indiquer 7 to 12 Days
sinon
Si colonne G est supérieur ou égale à 13 et inférieur ou égal à 19 alors indiquer 12 to 19 Days
sinon
Si colonne G est supérieur ou égale à 20 et inférieur ou égal à 29 alors indiquer 12 to 19 Days
sinon
Si colonne G est supérieur à 29 alors indiquer > 29 Days


merci beaucoup
A voir également:

14 réponses

kevin76110 Messages postés 4273 Date d'inscription   Statut Membre Dernière intervention   875
 
'lut,

En quel langage ?
1
ben
 
salut, c'est pour mettre dans excel 2007 donc je pensais typiquement =si...

Merci beaucoup !
1
kevin76110 Messages postés 4273 Date d'inscription   Statut Membre Dernière intervention   875
 
=si("clique sur la case de la colonne g"<1 AND "clique sur la case de la colonne g"<7; "< 7 Days ")

Le reste, tu fais pareil ;)
°º¤ø,¸¸,ø¤º°'°º¤ø, Contributeur CCM °º¤ø,¸¸,ø¤º°'°º¤ø,
c'est pas parce que la solution ne vous plait pas qu'il faut mettre -1, c'est juste quand elle est inutile qu'il faut en mettre.
0
ben
 
J'ai test avec ça:
=SI(L2>1 AND L2<7; "< 7 Days ");

Et ça marche pas :/ ça me dit erreur de formule, j'ai essayé de mettre des guillemets, sans plus de succès
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kevin76110 Messages postés 4273 Date d'inscription   Statut Membre Dernière intervention   875
 
Et si tu mets un $ juste avant le 1 et 7

=SI(L2>$1 AND L2<$7; "< 7 Days ");   
?
°º¤ø,¸¸,ø¤º°'°º¤ø, Contributeur CCM °º¤ø,¸¸,ø¤º°'°º¤ø,
c'est pas parce que la solution ne vous plait pas qu'il faut mettre -1, c'est juste quand elle est inutile qu'il faut en mettre.
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Excel ou VBA?

Parce que sinon, VBA, ca sera :

If column(7).value > 1 and column(7).value < 7 Then
selection.autofilter Filed = 7, criteria="< 7 Days"
End if
If column(7).value =< 7 and column(7).value < 12 Then
selection.autofilter Filed = 7, criteria="7 to 12 Days "
end if 
If column(7).value =< 13 and column(7).value < 19 Then
selection.autofilter Filed = 7, criteria="13 to 19 Days "
end if 
If column(7).value =< 20 and column(7).value < 29 Then
selection.autofilter Filed = 7, criteria="20 to 29 Days "
end if
If column(7).value > 29  Then
selection.autofilter Filed = 7, criteria="> 29 Days "
end if
0
ben
 
Hello,

Je cherchais en code excel, Kevin, ça ne fonctionne pas non plus :(

Et j'ai testé pour le VBA mais j'ai besoin que le résultat s'affiche colonne L
La, avec ta formule Ctesias, ça ne fonctionne pas, il me dit qu'il y a un problème avec "If column(7)" ...

Merci !
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Peut-tu me dire ton erreur?
0
loulou
 
Erreur dans la formule, sans plus de précisions... :*/
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
c'est quelle erreur?
0
loulou
 
Erreur de compilation: instruction incorrecte à l'extérieur d'une procédure :)
0
loulou
 
Hello again :)

J'ai essayé le vba indiqué par Ctesias ci dessus:

If Column(12).Value > 1 And Column(7).Value < 7 Then
Selection.AutoFilter Filed = 14, criteria = "< 7 Days"
End If
If Column(12).Value <= 7 And Column(7).Value < 12 Then
Selection.AutoFilter Filed = 14, criteria = "7 to 12 Days "
End If
If Column(12).Value <= 13 And Column(7).Value < 19 Then
Selection.AutoFilter Filed = 14, criteria = "13 to 19 Days "
End If
If Column(12).Value <= 20 And Column(7).Value < 29 Then
Selection.AutoFilter Filed = 14, criteria = "20 to 29 Days "
End If
If Column(12).Value > 29 Then
Selection.AutoFilter Filed = 14, criteria = "> 29 Days "
End If


EN gros, je veux classifier colonne 0, la valeur de la colonne L .

J'ai remplacé le If Column(7).Value par If Column(12).Value pour qu'il vérifie colonne L... Mais du coup, excel me dit que le 12 est une erreur dans la formule...

Merci de vos lumières !§
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Je sais ou est le probleme... tu dis: "Si la colonne 7 est superieur a 1..." Mais as-tu une somme? ou est-ce pas plutot des valeur de cellule?
0
loulou
 
Je veux dire:

la valeur numérique indiquéedans la cellule colonne L est supérieure à 1 et inférieur à 7 alors indiquer "< 7 Days" dans la meme ligne colonne O
sinon
si la valeur numérique indiquéedans la cellule colonne L est supérieur ou égal à 7 et inférieur ou égal à 12 alors indiquer "7 to 12 Days " dans la meme ligne colonne O
sinon
si la valeur numérique indiquéedans la cellule colonne L est supérieur ou égale à 13 et inférieur ou égal à 19 alors indiquer "12 to 19 Days " dans la meme ligne colonne O
sinon
si la valeur numérique indiquéedans la cellule colonne L est supérieur ou égale à 20 et inférieur ou égal à 29 alors indiquer "12 to 19 Days" dans la meme ligne colonne O
sinon
si la valeur numérique indiquéedans la cellule colonne L est supérieur à 29, alors indiquer > "29 Days" dans la meme ligne colonne O

Est ce plus clair ?

MErci beaucoup !
0
loulou
 
et appliquer ça à toutes les lignes où la colonne L est remplie (excepté ligne 1: titres).

Merciii !!
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Essaie plutot ca :

dim maximum as integer  

maximum = ActiveSheet.Range("a65536").End(xlUp).Row  

For i = 1 to maximum  
If Cells(i,12).Value > 1 And Cells(i,7).Value < 7 Then   
Cells(i,13).Value="< 7 Days"  
End If  
next   
For i = 1 to maximum  
If Cells(i,12).Value <= 7 And Cells(i,7).Value < 12 Then   
Cells(i,13).Value=" 7 to 12 Days"  
End If  
next   
For i = 1 to maximum  
If Cells(i,12).Value <= 13 And Cells(i,7).Value < 19 Then   
Cells(i,13).Value="12 to 19 Days"     
End If  
next   
For i = 1 to maximum  
If Cells(i,12).Value <= 20 And Cells(i,7).Value < 29 Then   
Cells(i,13).Value="20 to 29 Days"  
End If  
next   
For i = 1 to maximum  
If Cells(i,12).Value > 29 Then   
Cells(i,13).Value="> 29 Days"  
End If   
next
0
loulou
 
ça me met à nouveau Erreur de compilation : instructions incorrectes à l'extérieur d'une procédure
Et ça surligne la partie xlUp

Merci d'avance Ctesias !
0
loulou
 
Hello Ctesias et merci pour ta patience !

Voici mon fichier:
http://www.cijoint.fr/cjlink.php?file=cj201106/cijGF0XjGH.xls

J'ai besoin que colonne N vienne indiquer la catégorie de jours indiqués par le VBA.

Donc la j'ai mis ça: et rien ne se passe (peut etre est que les colonnes ne sont pas bien indiquées ?

l'info permettant de calculer le résultat est indiquée colonne L.

Merci encore..


Public Sub catégorisertat()


maximum = WorksheetFunction.Max([Q65536].End(xlUp).Row, [R65536].End(xlUp).Row, [V65536].End(xlUp).Row, [W65536].End(xlUp).Row)
For i = 1 To maximum
If Cells(i, 12).Value > 1 And Cells(i, 7).Value < 7 Then
Cells(i, 13).Value = "< 7 Days"
End If
Next
For i = 1 To maximum
If Cells(i, 12).Value <= 7 And Cells(i, 7).Value < 12 Then
Cells(i, 13).Value = " 7 to 12 Days"
End If
Next
For i = 1 To maximum
If Cells(i, 12).Value <= 13 And Cells(i, 7).Value < 19 Then
Cells(i, 13).Value = "12 to 19 Days"
End If
Next
For i = 1 To maximum
If Cells(i, 12).Value <= 20 And Cells(i, 7).Value < 29 Then
Cells(i, 13).Value = "20 to 29 Days"
End If
Next
For i = 1 To maximum
If Cells(i, 12).Value > 29 Then
Cells(i, 13).Value = "> 29 Days"
End If
Next



End Sub
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Est-ce normal que dans ta colonne L, je n'ai que des #NOMS?
0
loulou
 
Non, il devrait y avoir une valeur en chiffres colonne L
Je reupload le fichier...
http://www.cijoint.fr/cjlink.php?file=cj201106/cijKaH7KVN.xls

Dis moi si ça marche mieux..
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Jen'ai toujours pas de valeurs, mais je pense que la fonction jour ouvre n'est pas dans excel 2000. Tampis, je vais mettre des valeurs au pifs ;)
0
loulou
 
ok :)

Pour info, il ya aussi des valeurs négatives colonne L (exemple: -140)

Merci !
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
Et tes valeurs sont seulements des chiffres comme 12 13 14 ?
0
loulou
 
oui, voici les quelques premières lignes de la colonne L :
9
109
73
66
26
-24
17
16
17
13
14
0
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
Dans ta cellule

=Si(Somme(G1:G600)>29;">29 Days";Si(Somme(G1:G600)>=20;"20 to 28 Days";Si(Somme(G1:G600)>=19;"13 to 19 Days";Si(Somme(G2:G600)>=7;"7 to 12 Days";"<7 Days"))))

J'espère que c'était ça, ça marche d'après ce que j'ai compris :)
0
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
En fait pour ce genre de chose il faut penser en inversant. On part du plus grand pour réduire. Si c'est pas supérieur à 29, c'est inférieur ou égal à 28, donc pas besoin de la préciser. On doit changer de logique. En gros là on dit, si la somme de G (1à600ici, tu peux mettre plus) est inférieur à 29 alors j'écris "> 29 Days", sinon, Si la somme est >=20, alors "20 to 28 Days".. etc
0
loulou
 
ça ne fonctionne pas.. la case ou je met la formule donne toujours le meme resultat (>29days) mais du peux que je comprenne ta formule tu cumules les cellules G1 à G600.

Hors moi, pour chaque chiffre comme indiqué dans le post au dessus (et colonne L dans mon fichier), j'ai besoin de savoir s'il est :
< 7 jours
entre 7 et 12 jours
entre 13 et 19 jours
entre 20 et 29 jours
<29 jours

genre:

colonne L, le chiffre est 17, le résultat de la formule sur la meme ligne doit être "entre 13 et 19"
colonne L, le chiffre est -5, le résultat de la formule sur la meme ligne doit être "< 7 "
colonne L, le chiffre est 36, le résultat de la formule sur la meme ligne doit être "<29 "

Est ce plus clair ?
0
loulou
 
J'ajoute que typiquement, avec une formule SI, je l'applique sur chaque ligne (en colonne N) et j'obtiens la tranche dans laquelle est le chiffre colonne L

Et merci de tes efforts !!
0
Ctesias Messages postés 724 Date d'inscription   Statut Membre Dernière intervention   36
 
BOn voila, j'ai trouvé!

Grace à bthenault! Merci :p

TU met dans ta cellule:
=SI(L2>29;">29 Days";SI(L2>=20;"20 to 28 Days";SI(L2>=19;"13 to 19 Days";SI(L2>=7;"7 to 12 Days";"<7 Days"))))

;)
0
loulou
 
Géniiiiall !! ça fonctionneparfaitement !

Merci à vous tous !!!!
0
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
Super, c'est vrai que j'ia répondu vite fait et pas tout lu :) Je n'avais pas tout compris ce que tu demandais, le principal est qu'on a trouvé!
0
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
En effet je coryais que c'était pour la colonne que tu voulais la tranche, mais oui si c'est pas cellule c'est ça!!
0
loulou
 
Super merciiii beaucoup a vous tous !!!!


J'ai une question subsidiaire qui n'a rien a voir !!

comme Ctesias a excel 2000 si j'ai bien compris j'ai une question:

Si tu protèges une feuille excel contre tout changement, est ceque tu peux, sous cette version, permettre l'utilisation du filtre automatique.

(ça marche sous 2007 mais mes utilissateurs sont sous 2000 et ça bloque..)

Merci !!!!
0
bthenault Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
:) Super
Pense à cliquer "résolu" en haut de ton premier message
0