Problème importation

Problème importation - VB/VBA/VBS - Programmation

Marsh Posté le 23-05-2013 à 22:23:38    

Bonjour, j'essaie depuis quelques jours d'importer des données d'un fichier à l'autre et j'obtiens toujours un message d'erreur. Je ne suis pas assez avancé en programmation vba pour corriger mon problème. J'obtiens le message suivant : [Variable objet ou variable bloc With non définie (erreur 91)].
 
Mon message d'erreur arrive à : (OldTaux_1.Names("Nom_i" ).RefersToRange.Value = Varia)
 
Voici mon code :  
 
Private Sub Importer_tout_Click()  
 
Dim OldValidation As Worksheet, NewValidation As Worksheet  
Dim monfichier As String, Nomdufichier As String  
Dim entier As Long  
Dim OldWb As Workbook, NewWb As Workbook  
Dim OldTaux_1 As Worksheet, OldHist_1 As Worksheet, OldVie_1 As Worksheet, OldIld_1 As Worksheet
 Dim NewTaux_1 As Worksheet, NewHist_1 As Worksheet, NewVie_1 As Worksheet, NewIld_1 As Worksheet
 Dim Nom_i As String  
Dim Varia As Variant  
 
 
Application.ScreenUpdating = False  
monfichier = Fichier_import.Value  
 
'Obtenir le nom de l'ancien fichier dans le textbox  
entier = Len(monfichier) 'le nombre de caractère dans mon fichier  
Do Until Mid(monfichier, entier, 1) = "\"  
entier = entier - 1  
Loop  
 
Nomdufichier = Right(monfichier, Len(monfichier) - entier) 'Permet d'obtenir le nom du fichier sans le début
 
Set NewWb = ActiveWorkbook  
Set NewTaux_1 = GetWsFromCodeName(NewWb, "Sheet1" )  
Set NewHist_1 = GetWsFromCodeName(NewWb, "Sheet2" )  
Set NewVie_1 = GetWsFromCodeName(NewWb, "Sheet3" )  
 
Workbooks.Open (monfichier)  
Set OldWb = Workbooks(Nomdufichier)  
Set OldTaux_1 = GetWsFromCodeName(OldWb, "Sheet1" )  
Set OldHist_1 = GetWsFromCodeName(OldWb, "Sheet2" )  
Set OldVie_1 = GetWsFromCodeName(OldWb, "Sheet3" )  
 
 
For i = 1 To 2  
Set Varia = Nothing  
Workbooks(Nomdufichier).Activate  
OldTaux_1.Names("Nom_i" ).RefersToRange.Value = Varia
Windows(NewWb).Activate  
NewTaux_1.Names("Nom_i" ).RefersToRange.Value = Varia  
Next i  
 
OldWb.Close  
Application.ScreenUpdating = True  
End Sub  
 
______________________  
' Fonction importer le fichier dans la boîte  
Private Sub Parcourir_Click()  
With Application.FileDialog(msoFileDialogOpen)  
.AllowMultiSelect = False  
.Show  
UserForm1.Fichier_import.Text = .SelectedItems(1)  
End With  
 
End Sub  
 
_______________________  
Function GetWsFromCodeName(wb As Workbook, CodeName As String) As Excel.Worksheet
 Dim ws As Excel.Worksheet  
 
For Each ws In wb.Worksheets  
If ws.CodeName = CodeName Then  
Set GetWsFromCodeName = ws  
Exit For  
End If  
Next ws  
End Function  
 
 
Merci bcp à l'avance !  :)

Reply

Marsh Posté le 23-05-2013 à 22:23:38   

Reply

Marsh Posté le 24-05-2013 à 00:42:22    

 
           Bonsoir.        Édites ton message et utilise l'icône prévu pour le code, merci.
 
           Sinon rien qu'en consultant l'aide de la propriété  RefersToRange  …
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed