Rechercher dans un fichier fermé - String et nom de fichier

  • Initiateur de la discussion Initiateur de la discussion Janko
  • 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 !

J

Janko

Guest
Bonsoir habitant(e)s du forum,

Je suis en quête d'une explication précise concernant le remplacement, dans une formule en VBA, d'un nom de fichier (et donc de son chemin) par une string :

J'ai cette formule qui fonctionne parfaitement où Z est un lecteur Réseau, Sauve le dossier de sauvegarde, Test un fichier XL:
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC2,'Z:\Sauve\[Test.xls]Feuille1'!R2C1:R53C2,2,0)"


J'aimerais pourtant et plutôt faire référence à des variables string, en les concaténant, du style :
Dim strChm as string, strDoc as string
strChm = "Z:\Sauve\"
strDoc = "[Test.xls]"
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC2,strChm & strDoc & Feuille1'!R2C1:R53C2,2,0)"

Mais cela ne donne lieu à aucun calcul ...
Cela veut-il signifier qu'XL ne tolère pas les concaténations de string ?
Faut-il utiliser DIR ou PATH ? ou même encore une fonction GetValue ?

Merci merci si vous avez des précisions sur ce sujet.

Janko
 
Salut Janko, le Forum

Si si il n'y a aucun problème, mais je te conseille d'abonner "FormulaR1C1" au bénéfice de "Formula"...

Ensuite regarde (par Exemple) ce Fil d'hier où je propose une solution d'écrire des Formules par VBA en Boucle par concaténation de diverses Variables ou Constantes de type String...

=> Lien supprimé

Tu découvriras comment je m'y prends.... (si tu recherche sous mon Nick dans ce Forum tu devrais trouver d'autres exemples)

Bonne Soirée

@+Thierry
 
Bonjour Thierry, le forum,

Le lundi matin, je n'ai décidément pas tout mes neurones de connecter !
La syntaxe de la formule me pose toujours problème (malgré les différents exemples consultés) ...
Où se situe l'erreur ? :

Dim strChm As String
Dim strDoc As String
Dim strAdr As String

strChm = "Z:\Sauve\"
strDoc = "Test.xls"
strAdr = "Feuil1'!B2:B53"

ActiveCell.Formula = "=VLOOKUP(B25, "'" & strChm & "[" & strDoc & "]" & strAdr,2,0)"

Janko
 
Salut Janko, le Forum

Ultra rapidos......

strAdr = "Feuil1'!B2:B53"

devrait être au moins :

strAdr = "Feuil1'!B2:C53"

Si tu travaille sur la secbnde colonne.....

ActiveCell.Formula = "=VLOOKUP(B25, "'" & strChm & "[" & strDoc & "]" & strAdr,2,0)"

Enfin ceci sans Ecxcel ouvert...... juste que çà me choque.....

Bonne nuit
@+Thierry
 
Salut Thierry, salut le forum,

Je vois que toi, même à une heure du matin, tu es toujours autant opérationnel ! Bravo !

C'était en effet lié à la mauvaise définition de la plage ....

Thanks a lot.

Janko
 
- 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.
Retour