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

  • Initiateur de la discussion Janko
  • Date de début
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
 
@

@+Thierry

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

Janko

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

@+Thierry

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

Janko

Guest
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
 

Statistiques des forums

Discussions
312 303
Messages
2 087 047
Membres
103 441
dernier inscrit
MarioC