Problème de macros mais avec condition .
Eric_3280
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
Eric_3280 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
Eric_3280 Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
BONJOUR
Vous trouverez dans la feuille facture de mon classeur un bouton sauvegarder. Ce bouton me sert à enregistrer le montant au bas de la facture (il enregistre dans la feuille historique des factures). Mais le problème est qu’il le fait même si la quantité saisie dépasse le stock. Quelqu’un peut-il m’aider ? J’aimerai sauvegarder le montant seulement si la quantité demandée est inférieure au stock. Sinon un message d’alerte s’affiche. (Quantité : de la cellule « I10 :I19 » stock : de la cellule « j10 :j19 » de la feuille « facture »
CI-JOINT MON CLASSEUR
MERCI
Vous trouverez dans la feuille facture de mon classeur un bouton sauvegarder. Ce bouton me sert à enregistrer le montant au bas de la facture (il enregistre dans la feuille historique des factures). Mais le problème est qu’il le fait même si la quantité saisie dépasse le stock. Quelqu’un peut-il m’aider ? J’aimerai sauvegarder le montant seulement si la quantité demandée est inférieure au stock. Sinon un message d’alerte s’affiche. (Quantité : de la cellule « I10 :I19 » stock : de la cellule « j10 :j19 » de la feuille « facture »
CI-JOINT MON CLASSEUR
MERCI
A voir également:
- Problème de macros mais avec condition .
- Excel cellule couleur si condition texte - Guide
- Excel condition ou - Guide
- Excel copier une cellule si condition ✓ - Forum Excel
- Excel colorer une cellule sous condition d'une autre cellule ✓ - Forum Excel
- Nbval avec condition - Forum Excel
2 réponses
Bonjour Éric, bonjour le forum,
Visiblement tu as oublié le lien vers le classeur... Mais ça devrait donner un code du style :
Visiblement tu as oublié le lien vers le classeur... Mais ça devrait donner un code du style :
Sub Macro1() If Range("I10:I19").Value > Range("J10:J19").Value Then MsgBox "Dépassement du Stock ! Opération annulée." Exit Sub Else 'ton code End If End Sub
Re,
La règle d'or en VBA s'est d'éviter autant que tu le peux les Select et autres Activate. Ça ne fait que ralentir le code et c'est souvent source de plantage.
Tu n'as toujours pas daigné mettre ton fichier ce qui rend la compréhension beaucoup plus difficile.
Ton code corrigé mais que tu devras vérifier :
La règle d'or en VBA s'est d'éviter autant que tu le peux les Select et autres Activate. Ça ne fait que ralentir le code et c'est souvent source de plantage.
Tu n'as toujours pas daigné mettre ton fichier ce qui rend la compréhension beaucoup plus difficile.
Ton code corrigé mais que tu devras vérifier :
Private Sub SAUVEGARDER_MONTANT_Click() Dim HF As Worksheet Dim F As Worksheet Set HF = Worksheets("historique factures") Set F = Worksheets("facture") If F.Range("I10:I19").Value > F.Range("J10:J19").Value Then MsgBox "Dépassement du Stock ! Opération annulée." Exit Sub Else HF.Unprotect Password:="54628" HF.Rows("2:2").Insert Shift:=xlDown HF.Rows("2:2").ClearFormats F.Unprotect Password:="54628" F.Range("F4:G4").Copy HF.Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False F.Range("D1:G1").Copy HF.Range("C2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False HF.Range("C2:F2").NumberFormat = "m/d/yyyy" F.Range("G23").Copy HF.Range("D2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False HF.Range("D2").NumberFormat = "#,##0.00 $" HF.Range("U1").Copy HF.Range("A2").Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False HF.Protect Password:="54628", Contents:=True, Scenarios:=True '************** partie à revoir 'là j'ai rien compris à ton code. Tu copies puis tu effaces ?!.... F.Range("C7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '************** HF.Protect Password:="54628", Contents:=True, Scenarios:=True F.Protect Password:="54628", Contents:=True, Scenarios:=True End If End Sub
Merci pour ta réponse. mais le code que vous m'avez envoyer doit faire allusion à la feuille "facture" (le classeur c "apk kkr facture"), moi je ne sais pas comment faire pour que le code fasse allusion à la feuille facture. POUVEZ-VOUS M'AIDER SVP? ou encore, comment faire pour vous envoyer mon classeur? j'ai envoyé quand même le code.
Explications disponibles ici : ICI
Merci d'y penser dans tes prochains messages.