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

Microsoft 365 Recherchev dans un autre classeur VBA EXCEL

manue971

XLDnaute Nouveau
Bonjour,

J'ai crée le code ci-dessous, pour ajouter à la colonne "RESTE SEM" de la semaine sélectionnée par l'utilisateur, une formule recherchev qui va récupérer le nombre de colis restants pour chaque article, dans un classeur aussi sélectionné par l'utilisateur (Les fichiers sont sur onedrive, et je n'arrive pas à les ouvrir avec la macro).
Mon problème c'est que la formule fonctionne une première fois, et la semaine suivante elle récupère le même nombre de colis de l'actualisation précédente (ex : actualisation de la semaine 37 = 171 colis restants, et actualisation semaine 38 = 171 colis restants, or dans le fichier sélectionné par l'utilisateur, il en reste 152).
Comment est-ce possible? Est-ce possible de corriger?

Après 2 semaines de recherches et tests en vain, je me vois contrainte de vous solliciter.

Merci d'avance pour vos retours!

Sub Formule_rechercheV()

Dim File As FileDialog
Dim Path As String
Dim sFichier As String

'Sélection du fichier du tableau de recherche de la formule
Set File = Application.FileDialog(msoFileDialogOpen)
With File
.Title = "SELECTIONNER LE FICHIER HEBDOMADAIRE CONTENANT LES DONNEES"
.Filters.Clear
.Filters.Add "Excel files", "*.xlsm"
.AllowMultiSelect = False
If File.Show = 0 Then
Exit Sub
Else
Set Classeur = Workbooks.Open(Filename:=File.SelectedItems(1))
Dim sNomClasseur As String
sNomClasseur = Classeur.Name
End If
End With

'Demande la semaine de la colonne REST SEM
myInputBoxVariable = InputBox(Prompt:="DANS QUELLE COLONNE " & """RESTE SEM""" & " VOULEZ-VOUS METTRE LA FORMULE?", Default:="Enter uniquement le n° de semaine ici", Title:="FORMULE FICHIER SUIVI COMMANDES FRAIS STOCK")
If myInputBoxVariable = "" Then
Exit Sub
End If

Application.DisplayAlerts = False

'Sélection du fichier de destination de la formule
Set File = Application.FileDialog(msoFileDialogOpen)
With File
.Title = "SELECTIONNER LE FICHIER HBAL-APR-TDS-009-20210804 Fichier suivi commandes FRAIS STOCK"
.Filters.Clear
.Filters.Add "Excel files", "*.xlsx"
.AllowMultiSelect = False
If File.Show = 0 Then
Exit Sub
Else
Set Classeur2 = Workbooks.Open(Filename:=File.SelectedItems(1))
Dim sNomClasseur2 As String
sNomClasseur2 = Classeur2.Name
Workbooks(sNomClasseur2).Sheets("SUIVI STOCK").Select
End If
End With

'ajoute la formule rechercheV
Ligfin = Cells(Rows.Count, 1).End(xlUp).Row
Workbooks(sNomClasseur2).Sheets("SUIVI STOCK").Range("5:5").Find(What:="RESTE SEM " & myInputBoxVariable).Select
Selection.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC14,'[sNomClasseur]EXPORT RESTE SEM'!R1C1:R500C2,2,FALSE),"""")"

'Copie la formule sur la colonne
Selection.Copy
Dim Ligdeb As Long
Dim Col As Integer
Dim lettreCol As String
Ligdeb = Selection.Offset(1, 0).Row
Col = Selection.Offset(1, 0).column
Range(Cells(Ligdeb, Col), Cells(Ligfin, Col)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

'Remplace les formules par leur valeur
Range(Cells(Ligdeb, Col), Cells(Ligfin, Col)).Select
Selection.Copy
Range(Cells(Ligdeb, Col), Cells(Ligfin, Col)).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False

Workbooks("HBAL-APR-TDS-009-20210804 Fichier suivi commandes FRAIS STOCK").Sheets("SUIVI STOCK").Range("5:5").Find(What:="RESTE SEM " & myInputBoxVariable).Select

Application.DisplayAlerts = True

End Sub
 

Wayki

XLDnaute Impliqué
Bonjour,
Le problème est cette formule de rechercheV je pense. Dommage de faire comme ça avec un code si élaboré alors qu'en plus vous ne gardez pas la formule.
Une solution avec intersect serait je pense plus judicieux mais pour ça il nous faudrait les fichiers..
A +
 

manue971

XLDnaute Nouveau
Bonjour,

Merci pour ce premier retour, comme demandé, les fichiers en pièces jointes

Bien évidemment je n'ai laissé que les colonnes nécessaires par souci de confidentialité.
 

Pièces jointes

  • FICHIER DE REPARTITION BATEAU SEM 38 MANUE.xlsm
    28.5 KB · Affichages: 4
  • Copie Fichier suivi commandes FRAIS STOCK.xlsx
    80.9 KB · Affichages: 5

Discussions similaires

Réponses
3
Affichages
460
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…