Macro

Résolu
aikomimi Messages postés 2 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 5 janvier 2011 - 5 janv. 2011 à 15:40
aikomimi Messages postés 2 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 5 janvier 2011 - 5 janv. 2011 à 18:26
bnjour
j'essai d'etalir un programme sous excel pour la gestion d'opération achat vente de sicav pour des clients
j'ai instauré une macro qui pour un client X qui veut faire une vente à la date d'aujourd'hui par exemple, est sensé vérifier que le client à son actif des titres a vendre qu'il a acquis a des dates antérieurs a celle d'aujourd'hui

le code utilisé est:
Dim verifdate
verifdate = Application.WorksheetFunction.SumIfs(Sheets("Achats").Range("D:D"), Sheets("Achats").Range("A:A"), Range("NC"), Sheets("Achats").Range("B:B"), Range("NP"), Sheets("Achats").Range("C:C"), "<" & Range("DD").Value2)
If verfdate = 0 Then
MsgBox "le client n'a pas de produit pour cette période ", vbOKOnly + vbExclamation, "Attention"


j'ai essayer de l'exécuter en prenant une date d'opération réalisée comme date de saisie vente cependant malgré le fait que ce client ai des achat antérieurs à cette date çà ne marche pas d'où vient l'erreur?

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
5 janv. 2011 à 16:43
Bonjour,
je vois une petite erreur de syntaxe dans ton IF :
If verfdate = 0 Then 
'ce ne serait pas plutot : 
If verifdate = 0 Then 



Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
3
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
5 janv. 2011 à 16:55
Salut,

et oui ! bien vu Jordane45 d’où l’intérêt de toujours écrire en toute première ligne d'un module ou autre zone de code :

Option Explicit


lors de la compilation du code tu aurais reçu un message "Variable Non Définie" avec la ligne "If verfdate = 0 Then" surlignée en jaune...
ce qui t'aurai mis la puce à l'oreille

A+
3
aikomimi Messages postés 2 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 5 janvier 2011
5 janv. 2011 à 18:26
ok jai vu mais là je suis un peu embetée par autre chose voilà un peu la logique du boulot qu e je dois effectuer:
dans une feuille de saisie vente je vais entrer:
[[list]
la nom du client
la quantité
le prix
la date
/list
puisque l'étape de vérificvation est déjà faite ( c'est le code de tout a l'heure avec erreur de syntax)j'ai fait une macro qui doit regrouper toutes les achats précédents du clients dans la feuille vérification

dont voici le code:

Sheets("Achats").Select
Range("A1").Select
Do While ActiveCell <> Range("NC")
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell.Offset(0, 1).Select
Do While ActiveCell <> Range("NP")
ActiveCell.Offset(1, 0).Select
Loop

Dim celldepart
celldepart = ActiveCell.Offset(0, 1).Address
Do While ActiveCell.Offset(0, -1) Range("NC") And ActiveCell Range("NP")
ActiveCell.Offset(1, 0).Select
Loop

Dim cellfin
cellfin = ActiveCell.Offset(0, 3).Address
Do While ActiveCell.Offset(0, -1) Range("NC") And ActiveCell Range("NP")
ActiveCell.Offset(1, 0).Select
Loop

Range(celldepart & ":" & cellfin).Copy
Sheets("verif").Select
Range("A2").PasteSpecial

End If

quand je l'applique elle recopie dabord toutes les lignes du clients concerné
et ensuitte toutes les lignes qui concerne le meme produit
alors que moi ce que je veux traduire c'est : copie dans la feuille vérif que les lignes concernant les achats du client x pour la sicav A par exemple

ensuite

je dois maintenant recopier c'est donnée à l'aide d'une macro dans une page dite vérification dans laquelle je vais calculer par la methode FIFO si le client X qui fait cette opération de vente à assez de titres:

/listsi oui alors on valide la vente en enregistrant les infos saisie dans la feuille "saisie_vente" dans une feuille dite "archivage_vente"
[list]
sinon boite de message pour dire que le client n'a pas assez de produit
/list

et tout celà a l'aide de macro VBA

pou être honnete je ne suis pas très forte en programmation je suis novice et c'est pourquoi je viens vous demander votre aide si quelqu'un peut m'aider



je vous en serrez vraiment gré!!
0
Rejoignez-nous