Macro recherchev double critère

sircroco

XLDnaute Nouveau
Bonjour,

Je cherche à modifier ma macro du fichier stock produit pour qu'elle prenne en compte si c'est du neuf ou occas dans la rechercheV, afin d'alimenter correctement les deux tableaux du fichier "stock produit", à partir de l'extraction "stock globale" du jour...

Quelqu'un peut m'aider ? les fichiers sont en PJ (il y a la macro initiale dans le fichier stock)

Ma macro fait aussi l'erreur de prendre la dernière ligne non vide de toute la feuille, et non la dernière ligne non vide du premier tableau, du deuxième tableau... => je ne veux pas de calcul ("0") entre les deux tableaux...

merci de votre aide... bonne fête...
 

Pièces jointes

  • Stock produit.xlsm
    17.6 KB · Affichages: 8
  • Stock global.xlsx
    8.2 KB · Affichages: 8

cathodique

XLDnaute Barbatruc
Peut-être comme ceci
VB:
Sub Neuf()

   ChDrive "C"
   ChDir "C:\Users\u167753\Desktop\"
   fichier1 = Application.GetOpenFilename
   If fichier1 = False Then Exit Sub
   With Range("c4:c9")  'A modifier
      Set Source = Workbooks.Open(fichier1)
      .Formula = "=IFERROR(VLOOKUP($a4,'[" & Source.Name & "]28122018'!$a:$c,3,0),""0"")"   ' A modifier
      .Value = .Value
   End With
   Workbooks(Source.Name).Close
End Sub

Sub Occas()

   ChDrive "C"
   ChDir "C:\Users\u167753\Desktop\"
   fichier1 = Application.GetOpenFilename
   If fichier1 = False Then Exit Sub
   With Range("c15:c20")
      Set Source = Workbooks.Open(fichier1)
      .Formula = "=IFERROR(VLOOKUP($a15,'[" & Source.Name & "]28122018'!$a:$c,3,0),""0"")"   ' A modifier
      .Value = .Value
   End With
   Workbooks(Source.Name).Close
End Sub
 

job75

XLDnaute Barbatruc
Bonjour sircroco, cathodique,
Code:
Sub MAJ()
Dim fichier, F As Worksheet
ChDir ThisWorkbook.Path & "\"
fichier = Application.GetOpenFilename
If fichier = False Then Exit Sub
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier est déjà ouvert
Set F = ActiveSheet
F.Rows("4:" & F.Rows.Count).Delete 'RAZ
With Workbooks.Open(fichier).Sheets(1).[A1].CurrentRegion
    .AutoFilter 2, "neuf"
    .Copy F.[A3]
    .AutoFilter 2, "occas"
    .Copy F.[E3]
    .Parent.Parent.Close False
End With
End Sub
A+
 

Pièces jointes

  • Stock produit(1).xlsm
    23.9 KB · Affichages: 8
  • Stock global.xlsx
    13.9 KB · Affichages: 7

Discussions similaires

Réponses
15
Affichages
537

Statistiques des forums

Discussions
312 185
Messages
2 086 012
Membres
103 093
dernier inscrit
Molinari