Formule - macro
Résolu
tchulio
Messages postés
174
Statut
Membre
-
tchulio Messages postés 174 Statut Membre -
tchulio Messages postés 174 Statut Membre -
Bonjour,
Dans la colonne N de ma feuille1 que j’ai nommée Produits j’ai cette formule,
=SI(NB.VIDE(I2)=1;"";SI(I2/G2<0.97;"NCR";"OK"))
J’aurais voulu savoir si c’était possible de mettre cette formule dans une macro ?
Et quel serait le code a mettre si tel est le cas ?
Merci de votre aide…
Dans la colonne N de ma feuille1 que j’ai nommée Produits j’ai cette formule,
=SI(NB.VIDE(I2)=1;"";SI(I2/G2<0.97;"NCR";"OK"))
J’aurais voulu savoir si c’était possible de mettre cette formule dans une macro ?
Et quel serait le code a mettre si tel est le cas ?
Merci de votre aide…
A voir également:
- Formule - macro
- Formule si et - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
35 réponses
Pas de problème
Tu ajoute cette petite sub
et après End With tu met
A+
Tu ajoute cette petite sub
Sub ResultatPartiel(lig As Long)
If Cells(lig, 7) And Cells(lig, 9) Then
If (Cells(lig, 9) / Cells(lig, 7)) < 0.97 Then
Cells(lig, 14) = "NCR"
Else
Cells(lig, 14) = "OK"
End If
Else
Cells(lig, 14) = ""
End If
End Sub
et après End With tu met
ResultatPartiel Ligne
A+
Tu peu mettre en dessous de l'autre macro, mais faut ajouter une ligne
juste au début.
A+
Sheets("Produits").select
juste au début.
A+
ou bien...
A+
With Sheets("produits")
.Cells(ligne, 9) = TextBox1.Value
.Cells(ligne, 12) = TextBox_visa.Value
.Cells(ligne, 10) = CheckBox1.Value
.Cells(ligne, 13) = Textbox2.Value
.Cells(ligne, 21) = TextBox3.Value
.Cells(ligne, 19) = TextBox5.Value
.Cells(ligne, 20) = TextBox7.Value
.Cells(ligne, 18) = TextBox9.Value
.Cells(ligne, 17) = TextBox10.Value
.Cells(ligne, 11) = CDate(TextBox11.Value)
.Cells(ligne, 22) = ComboBox2
.Cells(ligne, 24) = Format(Now, "DD/MM/YY HH:MM:SS")
.Cells(ligne, 23) = Application.UserName
.Cells(ligne, 25) = TextBox12.Value
.Cells(ligne, 8) = ""
If .Cells(ligne, 7) And .Cells(ligne, 9) Then
If (.Cells(ligne, 9) / .Cells(ligne, 7)) < 0.97 Then
.Cells(ligne, 14) = "NCR"
Else
.Cells(ligne, 14) = "OK"
End If
Else
.Cells(ligne, 14) = ""
End If
End With
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok j'ai compris pardon.
Mais par contre ça ne fonctionne pas. Quand je clique sur valider, mes ligne s'insère, mais le calcul ne se fait pas...
Mais par contre ça ne fonctionne pas. Quand je clique sur valider, mes ligne s'insère, mais le calcul ne se fait pas...
BOnjour, désolé de répondre seulement maintenant, beaucoup d'urgence au travail et pas le temps ce w.e...
Donc j'ai essayé, ça marche quand je rentre mes données avec le USF, par contre même problème qu'auparavant, si la quantité ok est "0" , il n'y a rien qui s'affiche.
et si je mets cette ligne,
If Cells(lig, 7).Value >= "0" And Cells(lig, 9).Value >= "0" Then
ça bug, ça ne marche pas avec le USF,
Merci
Donc j'ai essayé, ça marche quand je rentre mes données avec le USF, par contre même problème qu'auparavant, si la quantité ok est "0" , il n'y a rien qui s'affiche.
et si je mets cette ligne,
If Cells(lig, 7).Value >= "0" And Cells(lig, 9).Value >= "0" Then
ça bug, ça ne marche pas avec le USF,
Merci
Apparement tu oublie les points...
If .Cells(lig, 7).Value >= "0" And .Cells(lig, 9).Value >= "0" Then
A+
If .Cells(lig, 7).Value >= "0" And .Cells(lig, 9).Value >= "0" Then
A+
Ok donc ce code fonctionne maintenant parfaitement lorsque je fait les saisie avec le USF, par contre quand je fait un calcul total de la feuille avec ce code, si j’ai une valeur dams ma colonne 7 et pas de valeur dans la 9, ça m’affiche « NCR » dans la colonne 14. Normalement il n’y a rien qui doit s’afficher.
A mon avis le pb vient de cette ligne
If Cells(Lig, 7).Value >= 0 And Cells(Lig, 9).Value >= 0 Then
J’ai mis un >=0 car si ma quantité ok est “0”, il faut que ça affiche NCR.
Sub Resultat()
Dim Lig As Long
Dim Col As Long
Sheets("Produits").Select
For Lig = 2 To Range("C65536").End(xlUp).Row
If Cells(Lig, 7).Value >= 0 And Cells(Lig, 9).Value >= 0 Then
If (Cells(Lig, 9) / Cells(Lig, 7)) < 0.99 Then
Cells(Lig, 14) = "NCR"
Else
Cells(Lig, 14) = "OK"
End If
Else
Cells(Lig, 14) = ""
End If
Next Lig
End Sub
merci
A mon avis le pb vient de cette ligne
If Cells(Lig, 7).Value >= 0 And Cells(Lig, 9).Value >= 0 Then
J’ai mis un >=0 car si ma quantité ok est “0”, il faut que ça affiche NCR.
Sub Resultat()
Dim Lig As Long
Dim Col As Long
Sheets("Produits").Select
For Lig = 2 To Range("C65536").End(xlUp).Row
If Cells(Lig, 7).Value >= 0 And Cells(Lig, 9).Value >= 0 Then
If (Cells(Lig, 9) / Cells(Lig, 7)) < 0.99 Then
Cells(Lig, 14) = "NCR"
Else
Cells(Lig, 14) = "OK"
End If
Else
Cells(Lig, 14) = ""
End If
Next Lig
End Sub
merci
Ca devrait aller avec...
A+
Sub Resultat()
Dim Lig As Long
Dim Col As Long
Sheets("Produits").Select
For Lig = 2 To Range("G65536").End(xlUp).Row
If Cells(Lig, 7) > 0 Then
If Cells(Lig, 9) = "" Or Cells(Lig, 9) = 0 Then
Cells(Lig, 14) = "NCR"
ElseIf (Cells(Lig, 9) / Cells(Lig, 7)) < 0.97 Then
Cells(Lig, 14) = "NCR"
Else
Cells(Lig, 14) = "OK"
End If
Else
Cells(Lig, 14) = ""
End If
Next Lig
End Sub
A+
Avec ce code aussi , lorsqu'il n'y a pas de quantité OK en "9", ça m'inscrit "NCR".
En fait ce qu'il faut c'est que quand "9" = 0 il y ait NCR
et que quand "9" est vide, il n'y ait rien qui ne s'affiche
En fait ce qu'il faut c'est que quand "9" = 0 il y ait NCR
et que quand "9" est vide, il n'y ait rien qui ne s'affiche
Tu dit.....
Donc j'ai essayé, ça marche quand je rentre mes données avec le USF, par contre même problème qu'auparavant, si la quantité ok est "0" , il n'y a rien qui s'affiche.
Avec ce code aussi , lorsqu'il n'y a pas de quantité OK en "9", ça m'inscrit "NCR".
Décide une bonne fois pour toute Grrrrr
Donc j'ai essayé, ça marche quand je rentre mes données avec le USF, par contre même problème qu'auparavant, si la quantité ok est "0" , il n'y a rien qui s'affiche.
Avec ce code aussi , lorsqu'il n'y a pas de quantité OK en "9", ça m'inscrit "NCR".
Décide une bonne fois pour toute Grrrrr
Non, quand il y a "0" en quantité ok, il y a NCR. ça on est d'accord.
Par contre s'il il n'y a pas de quantité ok, s'il il n'y a rien d'écrit, si la case est vide quoi, là il ne devrait rien y avoir.
tu comprends mieux ce que je veux dire?
Par contre s'il il n'y a pas de quantité ok, s'il il n'y a rien d'écrit, si la case est vide quoi, là il ne devrait rien y avoir.
tu comprends mieux ce que je veux dire?
Je n'ai pas réalisé plutôt, mais quand tu modifie la ligne ...
If Cells(lig, 7).Value >= "0" And Cells(lig, 9).Value >= "0" Then
Réfléchi un tout.. tout...tout petit peu...
La condition où il n'y à rien dans aucune des cellules ne se produira jamais car tu met (c'est toi qui modifie)
7=>0 et 9=>0 CE SERRA TOUJOURS VRAI, cogite la-dessus et tu trouverras une solution. Si pas ont en rediscuterras.
A+
PS: Il faut aussi que tu réfléchisse un peu et jusque maintenant je n'ai fait que te PONDRE la solution ce qui n'était pas te rendre service.
If Cells(lig, 7).Value >= "0" And Cells(lig, 9).Value >= "0" Then
Réfléchi un tout.. tout...tout petit peu...
La condition où il n'y à rien dans aucune des cellules ne se produira jamais car tu met (c'est toi qui modifie)
7=>0 et 9=>0 CE SERRA TOUJOURS VRAI, cogite la-dessus et tu trouverras une solution. Si pas ont en rediscuterras.
A+
PS: Il faut aussi que tu réfléchisse un peu et jusque maintenant je n'ai fait que te PONDRE la solution ce qui n'était pas te rendre service.