ouvrir classeur copier données puis les coller dans une listbox

  • Initiateur de la discussion bichon
  • Date de début
B

bichon

Guest
Salut a toutes et a tous ceux de ce forum
je crois que le sujet dis tout lol
en fait clairement j'ai une listbox qui contient des classeur j'aimerai les ouvrir (ca c'est bon)
copier une plage de cellules (c'est ok ossi) fermer le classeur et coller ces données dans une autre
userform dans une listbox vide (ca c'est pas bon lol)
voici mon code
le problème se situe a selection.paste cette ligne doit etre fausse puisque rien ne se passe

Dim i As Integer
Dim NomClasseur As String
Dim R As Integer
For i = 1 To ListBox1.ListCount
If ListBox1.Selected(i - 1) Then
NomClasseur = Worksheets("Archives").Range("B5").Cells(i, 1)
Archives.Hide
Workbooks.Open FileName:="C:\mon dossier\" & NomClasseur
R = Range("D65536").End(xlUp).Row
Range("D5:D" & R).Select
Selection.Copy
ActiveWorkbook.Close savechanges:=False
Sheets("Cache").Select
Optbase.Show
Selection.Paste = Optbase.ListBox2.List
End If
Next i

voila jespere que c'est assez clair et que vous allez pouvoir me venir en aide
merci d'avance a tous
bon courage

jp
 
Z

zon

Guest
Bonsoir à tous,



Jp je vois que nos remarques n'ont pas été vaines, je suis donc disposé maintenant à t'aider dans l'usine à gaz que (malgré toi) tu es en train de monter.


Tu ne peux pas faire de cette manière, en faisant un copier coller mais avec listbox.additem

Dim i As Integer
Dim NomClasseur As String
Dim R As Integer
For i = 1 To ListBox1.ListCount
If ListBox1.Selected(i - 1) Then
NomClasseur = Worksheets("Archives").Range("B5").Cells(i, 1)
Archives.Hide
Workbooks.Open FileName:="C:\mon dossier\" & NomClasseur
R = Range("D65536").End(xlUp).Row
For i=5 to R
Optbase.ListBox2.additem cells(i,4)
Next i
...Bla...




A+++
 
B

bichon

Guest
ReRe zon
Merci beaucoup pour ton aide ca ma énormement aidé
j'ai juste corrigé une petite chose dans ton code
au lieu de R=Range("D65536").end(xlup).row
j'ai juste mis Range("D5").end(xldown).row
car il me sortait une erreur d'indices en dehors de la plage avec l'initialisation de la
première textbox1 bref j'ai pas compris donc jai changé
et ca marche nikel
ya juste une petite chose
c'est quand il n'y a que 1 element en D5 et rien après ben la ca marche pas
alors est ce tu pense savoir d'ou ca peut venir
c'est a cause du xldown?
merci beaucoup encore d'avance
 
Z

zon

Guest
Bonsoir à tous,


Cela renvoie une erreur avec ma méthode si ta colonne D du classeur que tu ouvres est vide mais comme tu precises pas de quelle procédure il s'agit pas evident....


Prenons un ex pour comprendre ce que je faisais
Apres avoir ouvert le classeur, je recupere avec R la deniere ligne de la colonne D (D8)

ensuite je remplis la listbox en fonction des cellules
=>Comme I demarre à 5: cells(I,4)=D5
jusqua D8 cells(i=8,4)

J'espere que tu comprends car j'ai du mal à l'exprimer ce soir...


Si tu as qu'un element ou plus mets [D4].end(xldown).row


A+++
 
B

bichon

Guest
Merci beaucoup zon ca marche niquel encore merci
ca ma arrangé j'ai biento fini mon usine mais il me resteun assez gros truc j'ai mis un nouveau fil
si tu peux m'aider ca serai cool
merci encore
 

Discussions similaires

Réponses
9
Affichages
304
Réponses
4
Affichages
419

Membres actuellement en ligne

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2