Microsoft 365 Recherchev dans un autre classeur VBA EXCEL

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 !

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

- 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

Discussions similaires

Réponses
4
Affichages
358
Réponses
3
Affichages
534
Réponses
2
Affichages
400
Réponses
5
Affichages
399
Réponses
6
Affichages
544
Retour