Boucles

Nanir

XLDnaute Occasionnel
Bonjour à tous,

Merci pour vos conseils.

Je reformule mon problème:

J'ai 200 fichiers nommés x-001, x-002...dans le même dossier.

Sur ces fichiers je dois copier la colonne E pour la coller sur un fichier récap (à la droite des autres).

Par exemple :
colonne E de x-001 en E de récap,
colonne E de x-002 en F de récap,
colonne E de x-003 en G de récap....

J'arrive assez facilement par VBA à faire la colonne E de x-001 en E de récap (uniquement).

J'aimerai savoir si une bonne âme pourrai m'aider à faire la suite parce que la je patauge dans la semoule....

J'aimerai automatiser cette tâche, sachant que je ne peut pas mettre les 200 fichiers en 1 seul, je ne peut pas vous envoyer de fichier car c'est trop lourd.

Merci beaucoup...
 

MichelXld

XLDnaute Barbatruc
bonsoir

pourquoi recrées tu un nouveau fil de discussion pour un meme sujet ?

Lien supprimé


as tu suivi le lien proposé par Michel_M dans le fil précédent ? puis essayé de l'adapter ?


un exemple pour extraire les données de la colonne A , dans un classeur fermé


Private Sub UserForm_Initialize()
'nécessite d'activer la référence Microsoft ActiveX Data Object 2.x Library
Dim Rs As ADODB.Recordset
Dim Cn As String
Dim Cible As String
Dim Fichier As String

Fichier = 'C:\\\\\\\\FichierB.xls'

Cn = 'DRIVER={Microsoft Excel Driver (*.xls)};' & _
'ReadOnly=1;DBQ=' & Fichier

Cible = 'SELECT * FROM [Feuil1$];'

Set Rs = New ADODB.Recordset
Rs.Open Cible, Cn, adOpenForwardOnly, adLockReadOnly, adCmdText

'les données à récuperer sont dans la colonne A
If Not Rs.EOF Then
ComboBox1.AddItem Rs.Fields(0).Name 'entete

Do While Not Rs.EOF
ComboBox1.AddItem Rs.Fields(0).Value
Rs.MoveNext
Loop
End If

Rs.Close
Set Rs = Nothing
End Sub



si la colonne contient un entete (1ere ligne) et si tu connais le nom , il sera aussi possible de simplifier la macro ,notamment en utilisant le methode CopyFromRecordset




et un exemple pour boucler sur tous les classeurs d'un repertoire


Dim Fichier As String

Fichier = Dir('C\\\\\\\\mon repertoire\\\\\\\\*.xls')
Do While Len(Fichier) > 0

Debug.Print Fichier

Fichier = Dir()
Loop




bonne soirée
MichelXld
 

Discussions similaires

Réponses
5
Affichages
369
Réponses
17
Affichages
450

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 206
dernier inscrit
diambote