Ouvrir plusieurs fichiers en même temps

Bonjour !

J’ai un petit problème. Je souhaiterais ouvrir plusieurs fichiers Excel en même temps, contenant un tableau avec des résultats d’analyse et les fusionner pour les mettre dans un seul et même fichier en leurs associants leurs numéros de lot (qui est tout le temps en E11) et leurs numéro de commande (qui est en E14). Il n’y a malheureusement pas que le tableau dans le fichier et le tableau des résultats ne commence pas toujours au même endroit comment faire ?

Merci de votre attention, en espérant trouver une réponse !

Bonjour à tous,

Et......

Il est opportun de préciser, dans votre profil, la nature du produit Excel utilisé. Les contributions apportées dépendront de votre environnement.

Pouvez-vous mettre à la disposition de la communauté deux ou trois fichiers, afin que nous puissions appréhender la chose ?

Enchantée!

Je vous transmets 2 fichiers comme exemples. Merci!

12azr34.xlsx (81.18 Ko)
10b4eer-lot.xlsx (81.18 Ko)

Bonsoir à tous,

Bis repetita : Il est opportun de préciser, dans votre profil, la nature du produit Excel utilisé. Les contributions apportées dépendront de votre environnement.

Pouvez-vous confirmer que votre besoin est de rapatrier :

1/ Le numéro de lot (tout le temps en E11)
2/ Le numéro de commande (en E14).
3/ L'image qui tient lieu de "tableau de résultats"

Le 1/ et 2/ peuvent être traités via Power Query. Pour le 3....peut-être que nos amis vbistes auront quelques idées lumineuses. Mais dans le meilleur des cas, cela restera une...image !

Mon besoin est de rapatrier :

1/ Le numéro de lot (tout le temps en E11) en colonne A
2/ Le numéro de commande (en E14) en colonne B
3/ Le tableau de résultats qui est sous l'image en traitant les données associées à chaque composants

par exemple dans un tableau

A1: AZR34(E11) B1: 54GYN8 (E14) C1: 7.37 (B96) D1=2,4 MCPB sel de sodium (C96) .........

A2: AZR34(E11) B2: 54GYN8 (E14) C2:...(B97) D2= .... (C97)

J'essaye de le traiter à l'aide d'une macro mais je ne sais pas comment mettre tous les tableaux à la suite

avec par exemple:

Set wbSource = Workbooks.Open(vFichiers(k))
Set wsSource = wbSource.Sheets("Concatenation")
DernLign = wbRecap.Sheets(1).Range("A60000").End(xlUp).Row + 1

Set rgRecap = wsRecap.Range("A65000").End(xlUp).Offset(1, 0)

With wsSource
rgRecap.Offset(0, 1) = .Range("E11")

Bonsoir de nouveau !

J'ai trouvé le tableau des résultats !

Ce tableau comporte 70 lignes à traiter (la 1ère semble ignorée....) sur 4 colonnes. Le résultat attendu comporterait 282 colonnes. Pas certain de la lisibilité d'un tel tableau....

Bonjour Kymie1213, le fil

J'ai trouvé moi un tableau des résultats avec beaucoup de colonnes !

Dixit JFL...
Ce tableau comporte 70 lignes à traiter (la 1ère semble ignorée....) sur 4 colonnes. Le résultat attendu comporterait 282 colonnes. Pas certain de la lisibilité d'un tel tableau....

Entièrement de ton avis JFL !

bonjour,

apparament des pesticides

J'ai renommé "AZR34.xlsB" et celui-là et "b4eer-lot.xlsx" doivent etre ouvert au moment de lancer ce macro. Les résultats sont dans "blad1"

7azr34.xlsb (98.79 Ko)
Sub collectionner()

     Dim Arr(), ptr, iWB
     ReDim Arr(1 To 100, 1)

     Arr(1, 0) = "Numero lot"
     Arr(2, 0) = "Numero commande"
     Arr(3, 0) = "fichier"
     Arr(1, 1) = "NORMES !!!"
     ptr = 3

     For Each swb In Array("AZR34.xlsb", "b4eer-lot.xlsx")     '-----> ATTENTION : AZR34 est un "XLSB" maintenant
          iWB = iWB + 1
          ReDim Preserve Arr(1 To UBound(Arr), iWB + 1)

          With Workbooks(swb).Sheets(1)     'boucle les fichiers
               Arr(1, iWB + 1) = .Range("E11").Value   'lot
               Arr(2, iWB + 1) = .Range("E14").Value   'commande
               Arr(3, iWB + 1) = swb     'nom du fichier
               Set c = .Columns(1).SpecialCells(xlConstants)     'cellules avec contenu dans colonne A
               If c.Areas.Count <> 1 Then
                    MsgBox "plus/moins que 2 plages !!!!"
               Else
                    a = c.CurrentRegion.Resize(, 6).Value     'ce tableau en bas
                    For i = 2 To UBound(a)
                         r = Application.Match(a(i, 3), Application.Index(Arr, 0, 1), 0)     'existe le nom du component deja ?
                         If Not IsNumeric(r) Then     'sinon, ajoute-le
                              ptr = ptr + 1
                              r = ptr
                              Arr(r, 0) = a(i, 3)     'composant
                              Arr(r, 1) = "'" & a(i, 5)     'norme
                         End If
                         Arr(r, iWB + 1) = a(i, 2)     'mesure valeur
                    Next
               End If
          End With
     Next

     With Workbooks("azr34.xlsb").Sheets("blad1")     'export to here
          .Cells.ClearContents

          With .Range("A1").Resize(ptr, iWB + 2)     'les données verticales
               .Value = Arr
               .EntireColumn.AutoFit
          End With

          With .Range("g1").Resize(iWB + 2, ptr)     'les données horizontales
               .Value = Application.Transpose(Arr)
               .EntireColumn.AutoFit
          End With
     End With

End Sub
Rechercher des sujets similaires à "ouvrir fichiers meme temps"