Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro recherchev double critère

  • Initiateur de la discussion Initiateur de la discussion sircroco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sircroco

Guest
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

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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…