import

mephis

XLDnaute Occasionnel
Bonjour à tous, merci d'avance pour toute l'aide que vous pourrez m'apporter.


Mon problème est que je doit importer des données excel d'un classeur fermé dans le classeur où je travail.

J'utilise donc :

Dim Chem As String, Fichier As String
Chem = "C:"
Fichier = "source.xls"
ThisWorkbook.Names.Add "pièce", _
RefersTo:="='" & Chemin & "[" & Fichier & "]textbox1'!$A$1:$H$550"
[A1:Z3000].ClearContents
[A1:H550] = "=pièce"
[A1:H550].Copy
Range("A1").PasteSpecial xlPasteValues

Le problème est qu'il m'importe aussi des données de d'autre fichier que je n'ai pas demandé:

Exemples:

classeur1 : 1,2,3,4,5
classeur2:a,b,c,d,e

Quand je vais lui demander d'importer le classeur 1 il va importer: 1,2,3,4,5,a,b

je vous met les fichier en lien pour que vous constatez par vous même.

Cordialement
 

Pièces jointes

  • nomenclature.xls
    122 KB · Affichages: 68
  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 56
  • nomenclature.xls
    122 KB · Affichages: 73
  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 56
  • nomenclature.xls
    122 KB · Affichages: 75
  • DX-1064-B_20111214_171532.xls
    26.5 KB · Affichages: 109
  • DX-1057-B_20120411_143248.xls
    29 KB · Affichages: 313
  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 57

JNP

XLDnaute Barbatruc
Re : import

Bonjour Menphis :),
personne ne peut m'aider?
Entre le fait que :
Ta macro fait référence à un fichier que tu n'as pas fourni : nomenclature-excel.xls...
Ton fichier est bourré de macro et d'USF et il faut déjà trouver la macro concernée...
Qu'il ne t'es pas venu à l'idée de fournir le mode d'emploi...
Que tu dis qu'elle fonctionne à moitié, or il y a à priori une grosse erreur, donc je doute :
Code:
RefersTo:="='" & Chemin & "[" & Fichier & "]textbox1'!$A$1:$H$550"
ce serait plutôt
Code:
RefersTo:="='" & Chemin & "[" & Fichier & "]" & textbox1 & "'!$A$1:$H$550"
sans compter qu'utiliser une variable d'USF dans une macro de module, je doute aussi...
Bref, mets nous uniquement les 2 fichiers concernés, avec juste ce qu'il faut pour reproduire l'erreur, si erreur il y a :rolleyes:...
Bon WE :cool:
 
Dernière édition:

mephis

XLDnaute Occasionnel
Re : import

Bonjour JNP , dans mon premier message j'ai exposé mon problème avec le code qui dysfonctionnait dans mon premier message.


J'ai essayé ce que tu m'as dis mais il n'y as rien qui change.
J'ai aussi essayé de mettre le code directement dans le userform mais ça ne marche pas non plus.

J'ai donc refais un fichier avec que le bout de code concerné et avec les fichier à importer.
 

Pièces jointes

  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 73
  • Classeur1.xls
    20.5 KB · Affichages: 49
  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 65
  • Classeur1.xls
    20.5 KB · Affichages: 52
  • DX-1044-B_20120116_153949.xls
    26 KB · Affichages: 97
  • DX-1034-B_20120524_171157.xls
    25 KB · Affichages: 52
  • DX-1171-S00_20120713_145302.xls
    22.5 KB · Affichages: 77
  • Classeur1.xls
    20.5 KB · Affichages: 44

JNP

XLDnaute Barbatruc
Re : import

Re :),
Qu'essayes-tu de faire avec
Code:
"='" & Chemin & "[" & Fichier & "]" & TextBox1 & "'!$A$1:$H$550
Dans ton dernier code, ça vaut
Code:
='C:[.xls]'0'!$A$1:$H$550
:confused:...
Dans la logique (enfin, ce que j'avais compris en voyant ton code) tu avais le chemin, le fichier et le nom de la feuille :rolleyes:...
Je doute que ta feuille s'appelle TextBox1, d'où ma proposition pour que ce soit la valeur de TextBox1 qui soit utilisée, mais j'ai l'impression que tu utilises du code sans le comprendre :eek:...
A te lire :cool:
 

mephis

XLDnaute Occasionnel
Re : import

:eek:

Je comprends oui et non :)

J'avais poster un poste sur plusieurs forum dont celui et à chaque fois personne n'a jamais su me répondre, donc après trois jours de recherche sur internet j'ai trouvé ceci, au début je croyais que ça fonctionnait bien mais non.
 

JNP

XLDnaute Barbatruc
Re : import

Re :),
A priori, il y avait un soucis dans ton fichier, celui-ci fonctionne :rolleyes:
Bonne journée :cool:
 

Pièces jointes

  • Classeur1.xls
    30.5 KB · Affichages: 48
  • Classeur1.xls
    30.5 KB · Affichages: 46
  • Classeur1.xls
    30.5 KB · Affichages: 55

mephis

XLDnaute Occasionnel
Re : import

J'ai réussi à faire ceci mais bon c'est pas top top

Private Sub CommandButton1_Click()
Application.DisplayAlerts = False

Dim n As Integer
Dim i As Variant
i = TextBox1
ActiveSheet.Name = i
classeur = Application.GetOpenFilename("Classeurs Excel,*.xls")
If classeur = False Then Exit Sub
Workbooks.Open Filename:=classeur
Range("A1:H550").Select
Selection.Copy
ActiveWorkbook.Close
Windows("classeur1").Activate
Range("A1").Select
ActiveSheet.Paste

Me.Hide
Exit Sub
Application.DisplayAlerts = True
End Sub


(DSL pour le double poste)
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : import

Re :),
A tester :
Code:
Private Sub CommandButton1_Click()Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim i As String, classeur As String
i = TextBox1
ActiveSheet.Name = i
classeur = Application.GetOpenFilename("Classeurs Excel,*.xls")
If classeur = False Then Exit Sub
Workbooks.Open Filename:=classeur
ThisWorkbook.Sheets(i).Range("A1:H550").Value = ActiveWorkbook.ActiveSheet.Range("A1:H550").Value
ActiveWorkbook.Close
Unload Me
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Bonne suite :cool:
 

Discussions similaires

Réponses
2
Affichages
155

Statistiques des forums

Discussions
312 652
Messages
2 090 542
Membres
104 572
dernier inscrit
saumech