Bonjour,
Cela fait quelques heures que je planche sur un problème en VBA (je suis novice en la matière).
Je souhaite utiliser la fonction VLOOKUP afin de récupérer un chiffre qui est lié à un type de produit dans un tableau, et d'ajouter ce chiffre (qui correspond a un nombre de mois) comme paramètre de la fonction DATEADD afin de créer une date.
Ce n'est peut être pas très clair mais je peux essayer de vous expliquer le problème de manière simple : j'ai des produits qui ont tous un temps d'attente différent avant de pouvoir être vendu. j'aimerai donc savoir a partir de qu'elle date tel produit peu être vendu. Il faut pour cela utiliser la fonction DateAdd et simplement ajouter le nombre de mois d'attente à la date de départ. Mais comme ce temps diffère en fonction de chaque produit je veux que ca se fasse de façon automatique et donc que ca récupère ce "temps" par la fonction VLOOKUP. J'espère que j'ai été un peu plus clair ^^.
voici donc mon code, mais il ne marche pas et je ne comprends pas pourquoi ...
Mon erreur ce trouve sur la ligne en rouge
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub CommandButton_Enregistrer_Click() Dim MC As Range Dim NbrM As Integer ' positionner MC sur le premier nom Set MC = Feuil4.Range("DateEnsemensement") ' recherche d'une ligne vide vers le bas Do While Not IsEmpty(MC.Value) Set MC = MC.Offset(1, 0) ' passer à la cellule du dessous Loop ' insertion des données de l'utilisateur MC.Value = Date ' Date d'ensemensement MC.Offset(0, 4).Value = ComboBox_TypeProduit.Value 'Produit NbrM = Application.WorksheetFunction.VLookup(Sheets("Stocks").Cells(MC.Offset(0, 4)), Sheets("Produits").Range(A, C), 3, False) MC.Offset(0, 1).Value = DateAdd("m", NbrM, Date) MC.Offset(0, 2).Value = "=Today()" 'Date du jour MC.Offset(0, 3).Value = ComboBox_NbPlants.Value 'Nombre
ci joint mon fichier Projet VBA 2.xlsm
Si vous avez une solution..
Merci énormément d'avance
Partager