Bonjour tout le monde, et merci par avance.
Voilà mon code. je vous en mets une partie après il se répète sur d'autres onglets avec des références du même style.
Je travaille sur un fichier userform_bdl_v7.xls dans lequel je crée une synthèse, une fois celle ci créée, j'aimerai que ma fonction exporte l'ensemble des données dans des tables contenues dans un fichier BDL_v2.xls.
Le problème c'est que j'appelle un coup un fichier un coup l'autre et il me met donc des erreurs à cause d'objet o variable indéfini en gros il ne trouve pas l'onglet que j'appelle dans le bon workbook.
Voici une partie du code.
PS : en plus dans ma fonction Envoyer_Identification j'aimerai pré remplir tous les onglets de ma BDL avec des données récupérées dans userform_v7 mais mon code ne marche pas
Bien cordialement.
Voilà mon code. je vous en mets une partie après il se répète sur d'autres onglets avec des références du même style.
Je travaille sur un fichier userform_bdl_v7.xls dans lequel je crée une synthèse, une fois celle ci créée, j'aimerai que ma fonction exporte l'ensemble des données dans des tables contenues dans un fichier BDL_v2.xls.
Le problème c'est que j'appelle un coup un fichier un coup l'autre et il me met donc des erreurs à cause d'objet o variable indéfini en gros il ne trouve pas l'onglet que j'appelle dans le bon workbook.
Voici une partie du code.
Code:
Sub Upload_BDL()
'
' nom Upload BDL
' Macro enregistrée le 13/12/08 par Allan
'
Dim der_ligne As Integer
Dim chemin As String
Dim bdl As String
Dim Plage_ILN_USF As Range
Dim Range_ILN_USF As Range
Dim Range_BDL_volume_ILN As Range
Dim vol_ILN As Range
Dim Range_BDL_amont_ILN As Range
Dim amont_ILN As Range
Dim Range_BDL_presta_ILN As Range
Dim presta_ILN As Range
Dim Range_BDL_transport_ILN As Range
Dim transport_ILN As Range
Dim Range_BDL_approche_ILN As Range
Dim approche_ILN As Range
chemin = "C:\Documents and Settings\P050686\Mes Documents\BDL_v2.xls"
bdl = "BDL_v2"
Workbooks.Open (chemin)
der_ligne = Workbooks("BDL_v2").Sheets("Amont_ILN").Cells(65536, 1).End(xlUp).Row + 1 'définition de la ligne où on va écrire des données
Workbooks("Userform_BDL_v7").Activate
[COLOR="Red"]Set Plage_ILN_USF = Sheets("Synthèse").Range(Cells(16, 2), Cells(16, Cells(17, 256).End(xlToLeft).Column))[/COLOR]
For Each Range_ILN_USF In Plage_ILN_USF
If Range_ILN_USF <> "" Then 'rajouter le else au cas où l'ILN ne serait pas dans la base de données
'Call Envoyer_Identification 'remplissage automatique des identifiants projet
'============================ Recherche des données Volumes et Coûts =============================
Workbooks(bdl).Activate
[COLOR="red"]Set Range_BDL_volume_ILN = Sheets("Volume_ILN").Range(Cells(1, 1), Cells(1, Cells(1, 256).End(xlToLeft).Column))[/COLOR] Set vol_ILN = Range_BDL_volume_ILN.Find(What:=Range_ILN_USF.Value, LookIn:=xlValues, lookat:=xlPart) 'recherche de l'ILN de la synthèse dans l'onglet "Volume_ILN"
vol_ILN.Offset(der_ligne, vol_ILN.Column).Value = Range_ILN_USF.Offset(2, 0).Value 'volume T&C
vol_ILN.Offset(der_ligne, vol_ILN.Column + 1).Value = Range_ILN_USF.Offset(2, 1).Value 'volume BIW
vol_ILN.Offset(der_ligne, vol_ILN.Column + 2).Value = Range_ILN_USF.Offset(22, 0).Value 'cout €/m3 TC
vol_ILN.Offset(der_ligne, vol_ILN.Column + 3).Value = Range_ILN_USF.Offset(22, 1).Value 'cout €/m3 BIW
vol_ILN.Offset(der_ligne, vol_ILN.Column + 4).Value = Range_ILN_USF.Offset(23, 0).Value 'cout €/veh TC
vol_ILN.Offset(der_ligne, vol_ILN.Column + 5).Value = Range_ILN_USF.Offset(23, 1).Value 'cout €/veh BIW
vol_ILN.Offset(der_ligne, vol_ILN.Column + 6).Value = Range_ILN_USF.Offset(24, 1).Value 'cout total ILN
PS : en plus dans ma fonction Envoyer_Identification j'aimerai pré remplir tous les onglets de ma BDL avec des données récupérées dans userform_v7 mais mon code ne marche pas
Code:
Sub Envoyer_Identification()
'Dim bdl As Workbook
'Dim c As Worksheet
Workbooks("BDL_v2.xls").Activate
[COLOR="red"]For Each c In Worksheets[/COLOR] 'pour tous les onglets dans BDL, on rajoute l'identification du projet
With c
.Cells(der_ligne, 1).Value = definition_modele 'rajout du modèle
.Cells(der_ligne, 2).Value = definition_version 'rajout de la version véhicule
.Cells(der_ligne, 3).Value = definition_moteur 'rajout du moteur
.Cells(der_ligne, 4).Value = definition_BV 'rajout de la BV
.Cells(der_ligne, 5).Value = definition_pays 'rajout du pays
'.Cells(der_ligne, 6).Value = definition_date 'rajout date
.Cells(der_ligne, 7).Value = definition_jalon 'rajout jalon
End With
Next
Bien cordialement.