Bonjour,
Je cherche à créer des outils facilitant pour notre préparatoire dans la pharmacie où je travaille.
Feuille "Formulaire PO" : Je souhaite faire apparaître la composition d'une préparation lorsqu'on sélectionne la préparation dans une liste (valeur en F7). J'ai un tableau avec les numéro d'ingrédient en colonne C (1 à 15), sachant que le nombre d'ingrédient est variable selon la préparation.
Feuille "Liste PO" : j'ai mis les compositions des préparations avec une clé d'identification sous forme "Nom de la prep_n" etc. pour chaque ingrédient (".._1" pour l'ingrédient numéro 1, ".._2" pour l'ingrédient numéro 2 etc)
J'arrive à le faire pour la première ligne mais je voudrais faire en sorte simplement que la totalité des lignes de ma composition apparaissent dans mon tableau (sans avoir à copier le code pour les 15 lignes potentielles).
Je ne sais pas si je suis très claire...
Voici le code que j'utilise pour le moment : (j"ai fait des essais de variable avec "Nb" mais je ne suis pas allée au bout)
Merci pour votre aide
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
20
21
22
23
24
25
26
27
28 Sub Enregistrement_PO() ligne = Sheets("Liste PO").Range("B2").End(xlDown).Row Dim Liste_PO As Range 'plage de recherche Set Liste_PO = Sheets("Liste PO").Range("A2:H" & ligne) Dim Compo_PO As Range 'plage dans laquelle inscrire le résultat Set Compo_PO = Sheets("Formulaire PO").Range("E51:L65") Dim Denomin_PO As Variant 'valeur recherchée Denomin_PO = Sheets("Formulaire PO").Range("F7").Value Dim Compo As Range 'résultat de la recherche Dim Nb As Integer 'définit la ligne concernée à partir de E51 Nb = Range("C51").Value Set Compo = Liste_PO.Find(what:=Denomin_PO & "_" & Sheets("Formulaire PO").Range("C51"), LookIn:=xlValues, LookAt:=xlWhole) If Not Compo Is Nothing Then Sheets("Formulaire PO").Range("E51").Value = Compo.Offset(ColumnOffset:=3).Value Sheets("Formulaire PO").Range("F51").Value = Compo.Offset(ColumnOffset:=4).Value Sheets("Formulaire PO").Range("H51").Value = Compo.Offset(ColumnOffset:=5).Value Sheets("Formulaire PO").Range("J51").Value = Compo.Offset(ColumnOffset:=6).Value Sheets("Formulaire PO").Range("K51").Value = Compo.Offset(ColumnOffset:=7).Value Sheets("Formulaire PO").Range("L51").Value = Compo.Offset(ColumnOffset:=8).Value Else Sheets("Formulaire PO").Range("E51").Value = "Erreur" End If End Subje suis en train de m'arracher les cheveux et les yeux
![]()







Répondre avec citation
Partager