chemin fichier Excel VBA

chevet34

XLDnaute Nouveau
Bonjour à tous,

Après plusieurs heures de recherche sur ce forum afin de vérifier si ma question n'avait pas déjà été posée, je me décide à faire appel à vous.

Posons calmement les données du problème et pardonnez moi d'être un peu long mais je pense que ce sera plus clair pour la suite.
Je travaille avec des données de 3 marques différentes (disons les marques aaa, bbb et ccc)

3 fichiers " mensuels" avec l'historique des données de 2009
Nom de chaque fichier : "rapport aaa mois par mois 09 mensuel.xls" (sans " )

Chaque fichier contient 12 onglets, un par mois de l'année
nom de chaque onglet : "mois 09 mensuel aaa" (par exemple "janvier 09 mensuel aaa")

De même, j'ai également 3 fichiers cumulés dont les noms (fichiers et onglets)suivent la même logique en remplaçant mensuel par cumulé

Je constitue en 2010 chaque mois un fichier similaire avec des données de 2010 et je veux aller chercher dans un de ces 6 fichiers de 2009 des totaux pour les mettre sur la feuille de 2010 (qui n'est pas stockée dans le même répertoire que les fichiers de 2009).

Le but est de composer le nom du fichier et de l'onglet à partir de différentes "inputboxes" mais je bloque sur la syntaxe de la formule.
voici le code vba
ChDir "P:\Mes documents\rapports salaires\2009"
Dim fichier As Workbook
Dim feuille As Worksheet
Dim mois As String
Dim année As String
Dim menscum As String
Dim marque As String
mois = InputBox("entrez le mois")
année = InputBox("entrez l'année n-1")
menscum = InputBox("mensuel ou cumulé ?")
marque = InputBox("entrez la marque")
set feuille = "mois & " " & année & " " & menscum & " " & marque"
MsgBox feuille
Set fichier = "P:\Mes documents\rapports salaires\2009\rapport" & " " & marque & " " & "mois par mois 09 cumulé.xls"
MsgBox fichier
ActiveCell.FormulaR1C1 = _
"=" & "'"[fichier]feuille & "'"!R22C31"
Range("D2").Select
End Sub

Merci d'avance pour votre aide précieuse !
ps : dans la version définitive, j'utiliserai la fonction "recherchev" mais le souci est vraiment dans la syntaxe de la formule.
 

kjin

XLDnaute Barbatruc
Re : chemin fichier Excel VBA

Bonsoir,
Déjà j'enlèverai les instructions set
Code:
Sub oulalalala()
Dim fichier [COLOR="Blue"]As String[/COLOR]
Dim feuille [COLOR="Blue"]As String[/COLOR]
Dim mois As String
Dim année As String
Dim menscum As String
Dim marque As String
mois = InputBox("entrez le mois")
année = InputBox("entrez l'année n-1")
menscum = InputBox("mensuel ou cumulé ?")
marque = InputBox("entrez la marque")
feuille = mois & " " & année & " " & menscum & " " & marque
[COLOR="Blue"]Dossier = "P:\Mes documents\rapports salaires\2009\rapport[/COLOR][COLOR="Red"][B]\[/B][/COLOR]"
fichier = marque & " " & "mois par mois 09 cumulé.xls"
[COLOR="Blue"]latotale = Dossier & "[" & fichier & "]" & feuille[/COLOR]
ActiveCell.FormulaR1C1 = [COLOR="Blue"]"='" & latotale & "'!R22C31"[/COLOR]
End Sub
A+
kjin
 

chevet34

XLDnaute Nouveau
Re : chemin fichier Excel VBA

Rebonjour,

La solution proposée est parfaite. Pour info, voici le code corrigé grâce à vos conseils. Tout baigne !

Dim fichier As String
Dim feuille As String
Dim mois As String
Dim année As String
Dim menscum As String
Dim marque As String
mois = InputBox("entrez le mois")
année = InputBox("entrez l'année n-1")
menscum = InputBox("mensuel ou cumulé ?")
marque = InputBox("entrez la marque")
feuille = mois & " " & année & " " & menscum & " " & marque
MsgBox feuille
Dossier = "P:\Mes documents\rapports salaires\2009\"
fichier = "P:\Mes documents\rapports salaires\2009\rapport" & " " & marque & " " & "mois par mois 09 cumulé.xls"
fichier = "rapport" & " " & marque & " " & "mois par mois 09" & " " & menscum & ".xls"
MsgBox fichier
latotale = Dossier & "[" & fichier & "]" & feuille
ActiveCell.FormulaR1C1 = "='" & latotale & "'!R22C31"

ActiveCell.FormulaR1C1 = _
"=IF(RC5="""",(IF(ISNA(VLOOKUP(RC4, '" & latotale & "'!R1C4:R564C61,24,0)),0,VLOOKUP(RC4,'" & latotale & "'!R1C4:R564C48,24,0))),0)"

A+
Chevet
 

kjin

XLDnaute Barbatruc
Re : chemin fichier Excel VBA

bonjour,
Rebonjour,

La solution proposée est parfaite. Pour info, voici le code corrigé grâce à vos conseils. Tout baigne !

Dim fichier As String
Dim feuille As String
Dim mois As String
Dim année As String
Dim menscum As String
Dim marque As String
mois = InputBox("entrez le mois")
année = InputBox("entrez l'année n-1")
menscum = InputBox("mensuel ou cumulé ?")
marque = InputBox("entrez la marque")
feuille = mois & " " & année & " " & menscum & " " & marque
MsgBox feuille
Dossier = "P:\Mes documents\rapports salaires\2009\"
fichier = "P:\Mes documents\rapports salaires\2009\rapport" & " " & marque & " " & "mois par mois 09 cumulé.xls"
fichier = "rapport" & " " & marque & " " & "mois par mois 09" & " " & menscum & ".xls"

MsgBox fichier
latotale = Dossier & "[" & fichier & "]" & feuille
ActiveCell.FormulaR1C1 = "='" & latotale & "'!R22C31"
ActiveCell.FormulaR1C1 = _
"=IF(RC5="""",(IF(ISNA(VLOOKUP(RC4, '" & latotale & "'!R1C4:R564C61,24,0)),0,VLOOKUP(RC4,'" & latotale & "'!R1C4:R564C48,24,0))),0)"


A+
Chevet
:confused: n'y aurait-il pas des choses inutiles ?
A+
kjin
 

Discussions similaires

Réponses
6
Affichages
196

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87