Travaux croisés sur plusieurs classeurs

Compress

XLDnaute Occasionnel
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.

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.
 

Discussions similaires

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83