Bonjour,
Je souhaite creer une macro qui puisse aller chercher des valeurs dans un autre fichier (Fichier "Fich_obs) selon les conditions que je lui ai donné.
Ma macro est composé en deux etapes
1. ouvrir les fichiers dont j'ai besion
2. prendre les valeur et copier les copier dans m,on fichier final.
J'arrive bien a ouvrir les fichiers, avoir les nons des fichiers mais malheureusement je n'arrive pas a prendre les valeurs de ces fichiers
Mon code doit comporter une erreur, si vous pouvez m'aider, ce serait super sympa de votre part.
Voici le code :
Sub Selectiondesfichiers()
Dim fich_base As String
fich_base = ActiveWorkbook.Name
'selection des fichiers
Application.StatusBar = "Etape 2 - Selection des fichiers"
If MsgBox("Voulez-vous utiliser les fichiers actuels ?", vbYesNo) = vbYes Then
fich_Obs = Workbooks(fich_base).Sheets("Présentation").Cells(26, 7).Formula
fich_Ref = Workbooks(fich_base).Sheets("Présentation").Cells(28, 7).Formula
fich_Bud = Workbooks(fich_base).Sheets("Présentation").Cells(30, 7).Formula
fich_An = Workbooks(fich_base).Sheets("Présentation").Cells(32, 7).Formula
Else
'remise à zéro des noms des fichiers utilisés
Sheets("Présentation").Cells(26, 7).Formula = ""
Sheets("Présentation").Cells(28, 7).Formula = ""
Sheets("Présentation").Cells(30, 7).Formula = ""
Sheets("Présentation").Cells(32, 7).Formula = ""
MsgBox ("Selection du Fichier Période Observée")
fich_Obs = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Période de Référence")
fich_Ref = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Budget")
fich_Bud = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Année antérieure")
fich_An = Application.GetOpenFilename()
'inscription des noms des fichiers
Workbooks(fich_base).Sheets("Présentation").Cells(26, 7).Formula = fich_Obs
Workbooks(fich_base).Sheets("Présentation").Cells(28, 7).Formula = fich_Ref
Workbooks(fich_base).Sheets("Présentation").Cells(30, 7).Formula = fich_Bud
Workbooks(fich_base).Sheets("Présentation").Cells(32, 7).Formula = fich_An
End If
'Ouverture des 4 fichier
Application.StatusBar = "Ouverture du fichier " & fich_Obs
Workbooks.Open fich_Obs, UpdateLinks:=False
mod_obs = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_Ref
Workbooks.Open fich_Ref, UpdateLinks:=False
mod_Ref = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_Bud
Workbooks.Open fich_Bud, UpdateLinks:=False
mod_Bud = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_An
Workbooks.Open fich_An, UpdateLinks:=False
mod_An = ActiveWorkbook.Name
Call RBCVcanalpartv2
End Sub
Sub RBCVcanalpartv2()
Dim x As Integer
Dim y As Integer
Dim t As Integer
Dim a As Integer
Dim mod_obs As String
mod_obs = ActiveWorkbook.Name
[COLOR="red"](Je pense que mon erreur vient d'ici, mais pas sure)[/COLOR]
Worksheets("Présentation").Select
t = 2
While Not Trim(Sheets("Sheet1").Cells(t, 4)) = Trim(Sheets("Présentation").Cells(16, 7))
t = t + 1
Wend
a = Sheets("Sheet1").Cells(t, 5).Value
Sheets("Sheet1").Cells(4, 5).Value = a
x = a
y = 4
Do
'RBCV base livraison
'Canal Particulier
'Model 1
'Volumes Livraison
Sheets("Particulier").Cells(5, y).Value = Workbooks(mod_obs).Sheets("8.b RBCV Famille - Canal PART").Cells(x - 22, 11).Value
COLOR="red"](ou alors Je pense que mon erreur vient d'ici, (Woorbooks(mod_obs)[/COLOR]
Loop Until y = 4
End Sub
Merci beaucoup pour votre aide
Je souhaite creer une macro qui puisse aller chercher des valeurs dans un autre fichier (Fichier "Fich_obs) selon les conditions que je lui ai donné.
Ma macro est composé en deux etapes
1. ouvrir les fichiers dont j'ai besion
2. prendre les valeur et copier les copier dans m,on fichier final.
J'arrive bien a ouvrir les fichiers, avoir les nons des fichiers mais malheureusement je n'arrive pas a prendre les valeurs de ces fichiers
Mon code doit comporter une erreur, si vous pouvez m'aider, ce serait super sympa de votre part.
Voici le code :
Sub Selectiondesfichiers()
Dim fich_base As String
fich_base = ActiveWorkbook.Name
'selection des fichiers
Application.StatusBar = "Etape 2 - Selection des fichiers"
If MsgBox("Voulez-vous utiliser les fichiers actuels ?", vbYesNo) = vbYes Then
fich_Obs = Workbooks(fich_base).Sheets("Présentation").Cells(26, 7).Formula
fich_Ref = Workbooks(fich_base).Sheets("Présentation").Cells(28, 7).Formula
fich_Bud = Workbooks(fich_base).Sheets("Présentation").Cells(30, 7).Formula
fich_An = Workbooks(fich_base).Sheets("Présentation").Cells(32, 7).Formula
Else
'remise à zéro des noms des fichiers utilisés
Sheets("Présentation").Cells(26, 7).Formula = ""
Sheets("Présentation").Cells(28, 7).Formula = ""
Sheets("Présentation").Cells(30, 7).Formula = ""
Sheets("Présentation").Cells(32, 7).Formula = ""
MsgBox ("Selection du Fichier Période Observée")
fich_Obs = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Période de Référence")
fich_Ref = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Budget")
fich_Bud = Application.GetOpenFilename()
MsgBox ("Selection du Fichier Année antérieure")
fich_An = Application.GetOpenFilename()
'inscription des noms des fichiers
Workbooks(fich_base).Sheets("Présentation").Cells(26, 7).Formula = fich_Obs
Workbooks(fich_base).Sheets("Présentation").Cells(28, 7).Formula = fich_Ref
Workbooks(fich_base).Sheets("Présentation").Cells(30, 7).Formula = fich_Bud
Workbooks(fich_base).Sheets("Présentation").Cells(32, 7).Formula = fich_An
End If
'Ouverture des 4 fichier
Application.StatusBar = "Ouverture du fichier " & fich_Obs
Workbooks.Open fich_Obs, UpdateLinks:=False
mod_obs = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_Ref
Workbooks.Open fich_Ref, UpdateLinks:=False
mod_Ref = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_Bud
Workbooks.Open fich_Bud, UpdateLinks:=False
mod_Bud = ActiveWorkbook.Name
Application.StatusBar = "Ouverture du fichier " & fich_An
Workbooks.Open fich_An, UpdateLinks:=False
mod_An = ActiveWorkbook.Name
Call RBCVcanalpartv2
End Sub
Sub RBCVcanalpartv2()
Dim x As Integer
Dim y As Integer
Dim t As Integer
Dim a As Integer
Dim mod_obs As String
mod_obs = ActiveWorkbook.Name
[COLOR="red"](Je pense que mon erreur vient d'ici, mais pas sure)[/COLOR]
Worksheets("Présentation").Select
t = 2
While Not Trim(Sheets("Sheet1").Cells(t, 4)) = Trim(Sheets("Présentation").Cells(16, 7))
t = t + 1
Wend
a = Sheets("Sheet1").Cells(t, 5).Value
Sheets("Sheet1").Cells(4, 5).Value = a
x = a
y = 4
Do
'RBCV base livraison
'Canal Particulier
'Model 1
'Volumes Livraison
Sheets("Particulier").Cells(5, y).Value = Workbooks(mod_obs).Sheets("8.b RBCV Famille - Canal PART").Cells(x - 22, 11).Value
COLOR="red"](ou alors Je pense que mon erreur vient d'ici, (Woorbooks(mod_obs)[/COLOR]
Loop Until y = 4
End Sub
Merci beaucoup pour votre aide