XL 2016 remplacer le nom du fichier dans une rechechV en vba

philippe87420

XLDnaute Nouveau
bonjour à tous

afin d'éviter à mes collègues d'aller reprendre le vba je souhaiterai remplacer le nom du fichier dans ma recherchV:

'With Cells(ligne, 22)
'.Formula = "=IFERROR(VLOOKUP(RC[-20],'[STO002F---INVENTAIRE des PALETTES 10-10-2021-rapprochement.xls]Sheet1'!R10C2:R18114C11,1,FALSE),"""")"
' .Value = .Value
'End With

j'ai essayé ça mais ça me remonte rien dans mon fichier

With Cells(ligne, 22)
.Formula = "=IFERROR(VLOOKUP(RC[-20],'" & [ Fichier ] & "sheet1'!R10C2:R18114C11,1,FALSE),"""")"
.Value = .Value
End With


ci joint les fichiers

merci de votre aide par avance
philippe
 

Pièces jointes

  • STO002F---INVENTAIRE des PALETTES 10-10-2021-rapprochement.xls
    31.5 KB · Affichages: 3
  • test nventaire.xlsm
    16.3 KB · Affichages: 1

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je n'ai pas ouvert vos fichiers mais les crochet "[]" doivent entourer le nom du fichier. Donc être dans les guillemets.

quelque chose comme :

"=IFERROR(VLOOKUP(RC[-20],'[" & Fichier & "]sheet1'!R10C2:R18114C11,1,FALSE),"""")"

Cordialement
 

fanch55

XLDnaute Barbatruc
Bonjour,
Une autre solution :
Déclarer au niveau du classeur une variable Crystal ( par exemple ) faisant référence aux colonnes désirées du fichier crystal ( à ce propos, je n'ai pas compris pourquoi R10C2 ? ).
et faire une formule générique dans les cellules en colonne V :
Code:
=SIERREUR(RECHERCHEV(B6;Crystal;1;FAUX);"")

Pour modifier le nom Crystal, double cliquer par exemple en J2, choisir un nom de fichier et modifier le champ nommé.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = [J2].Address Then
        If [J2] = "" Then F = [J2] Else F = Dir([J2])  ' pas de iif sinon dir se plante
        If F = "" Then
            With Application.FileDialog(msoFileDialogFilePicker)
                .InitialFileName = ThisWorkbook.Path
                .InitialView = msoFileDialogViewList
                .AllowMultiSelect = False
                .ButtonName = "Select"
                .Filters.Clear
                .Filters.Add "Fichier Crystal", "*.xls"
                .Title = "Choix du Fichier Crystal"
                If .Show Then
                    Range("J2") = .SelectedItems(1)
                    T = Split(Range("J2"), "\")
                    T(UBound(T)) = "[" & T(UBound(T)) & "]"
                    T = "='" & Join(T, "\") & "Sheet1'!$B:$K"
                    ThisWorkbook.Names("Crystal").RefersTo = T
                    Cancel = True
                End If
            End With
        End If
    End If

End Sub
 

Pièces jointes

  • test nventaire.xlsm
    27.2 KB · Affichages: 0

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 939
Membres
101 844
dernier inscrit
pktla