Ajouter une variable dans la formule

Résolu/Fermé
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 - 21 juil. 2016 à 18:19
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 - 28 juil. 2016 à 18:32
Bonjour à tous,

je suis entrain d'essayer d'insérer une variable dans ma formule mais ca ne marche et je ne sais pas ou ça bloque..
Au moment d’exécuter la formule, il y a une boite de dialogue Windows qui me demande de d'ouvrir le fichier excel qui est la source. Le pb c'est que le fichier est déja ouvert.


 Windows("Calcul DGO" & " " & PeriodePrecedente & " " & Annee & " " & "TEST.xlsx").Activate
Sheets("CALCUL DGO").Select
Range("C14").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],'Bilan " & " " & PeriodeN & " " & Annee & " " & " TEST.xls'!C5:C11,7,0)"


Merci de votre aide

J'ai pensé à sinon :


Dim FichierBilan as string
FichierBilan =Windows("Bilan " & " " & PeriodeN & " " & Annee & " " & " TEST.xls").Activate

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2]" & FichierBilan & "!C5:C11,7,0)"




Ps : je suis débutant en VBA Merci de votre comprehension
A voir également:

2 réponses

thev Messages postés 1882 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 26 octobre 2024 691
Modifié par thev le 21/07/2016 à 21:47
Bonsoir,

Deux remarques :
1- votre fichier bilan doit être ouvert
2- il manque la feuille du fichier bilan

ci-dessous exemple de code

PeriodeN = "T1"
Annee = "2016"
FichierBilan = "Bilan " & " " & PeriodeN & " " & Annee & " " & " TEST.xls"
feuille = "Feuil1"
plage = "C5:C11"
table_recherche = "[" & FichierBilan & "]" & feuille & "!" & plage
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2]," & table_recherche & ",7,FALSE)"

--
 
1
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 13
Modifié par solidarinfo le 28/07/2016 à 18:32
J'ai trouvé la solution, il fallait en fait juste que je mette le nom complet du chemin vers le fichier avec "c:\users, etc"

Par contre là ou je bloque c'est que j'ai essayé de mettre des variables dans le chemin que j'ai mis dans une varibale.. En gros une variable dans une variable.

Mais cela n'a pas l'air de vouloir marché, peut être que cela n'existe pas en VBA ?? Quelqu'un pour m'aider SVP ?

Dim FormuleBilan As String
FormuleBilan = "'C:\Users\solidarinfo\Desktop\TEST DSO MACRO\[Bilan" & " " & PeriodeN & " " & Annee & " " & "TEST.xls" & "]" & "Bilan" & PeriodeN & " " & " " & Annee & " " & "TEST'"

Range("C14").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2]," & FormuleBilan & "!C5:C11,7,0)"
0
solidarinfo Messages postés 147 Date d'inscription jeudi 26 mars 2009 Statut Membre Dernière intervention 8 décembre 2021 13
28 juil. 2016 à 18:32
J'ai trouvé la solution, il fallait en fait juste que je mette le nom complet du chemin vers le fichier avec "c:\users, etc"

Par contre là ou je bloque c'est que j'ai essayé de mettre des variables dans le chemin que j'ai mis dans une varibale.. En gros une variable dans une variable.

Mais cela n'a pas l'air de vouloir marché, peut être que cela n'existe pas en VBA ?? Quelqu'un pour m'aider SVP ?

Dim FormuleBilan As String
FormuleBilan = "'C:\Users\solidarinfo\Desktop\TEST DSO MACRO\[Bilan" & " " & PeriodeN & " " & Annee & " " & "TEST.xls" & "]" & "Bilan" & PeriodeN & " " & " " & Annee & " " & "TEST'"

Range("C14").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2]," & FormuleBilan & "!C5:C11,7,0)"
0