• Initiateur de la discussion Initiateur de la discussion Nanir
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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...
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Fonction si
Réponses
7
Affichages
223
Réponses
3
Affichages
605
Réponses
25
Affichages
1 K
Réponses
35
Affichages
2 K
Retour