Récupération de données de cellules fusionnées à travers plusieurs fichiers

Bonjour,

Je viens vous demander votre aide après deux jours et demi de travail sur une maccro, qui je l'avoue finis par me faire tourner en rond, j'aimerais ainsi vous demander votre soutien dans ma quête de Macro

Je présente le soucis :

Je possède 830 Fichiers dans lesquels sont réprésentés au sein d'un Onglet "Représentation Baie" un Schéma représenté par une fusion de cellules proportionnelle à la taille de l'équipement présent dans cette baie (Voir pièce jointe/Screen N°1).

screen n1

Ainsi le screen 1 représente mon origine

Chacun des 830 fichiers Excel est au même format et dans chaque cas je ne m'occupe que de la représentation de la baie dîtes projeté sur le screen .

De ces baie je souhaite synthétiser l'information vers un seul même fichier excel au format matriciel représentant un des 830 fichier par Ligne et une unité de place dite "1U" par colonne où serait écris le nom de l'équipement en place(Voir pièce jointe/Screen N°2)

screen n2

Ainsi le screen 2 représente mon objectif .

Alors, la difficulté est double, d'une part je dois récupérer la valeur des cellules fusionnées dans les 830 fichiers (chaque cellules fusionnées étant représentative donc d'un équipement et de la place que ce dernier prend en "U".

D'autre part je dois réussir à organiser ma maccro pour que j'obtienne un résultat sous forme de matrice de synthèse de mes fichiers .

Je vous met en pièce jointe un exemple d'un fichier source ( parmis les 830 ) et mon fichier Projet VBA "VBProject" .

Enfin voici mon code à mon stade actuel d'avancement, où je fais face à une erreure :

[QUOTE]

Sub Hola()

'Définition des variables

Dim Fname As Variant

Dim oApp As Object

Dim wb_master

Dim wb_toOpen

Dim cel As Range

Dim col As String

Worksheets("Feuil2").Activate

'Ouverture d'un explorateur de fichier permetant la multisélection

Fname = Application.GetOpenFilename("xlsx Files(*.xlsx),*.xlsx", MultiSelect:=True)

'Création de l'identifiant(1 par ligne) lié à chaque chemin de fichier. ET parcours des fichiers

For i = LBound(Fname) To UBound(Fname)

Cells(i, 1).Value = Fname(i)

'Ouverture des DISK

Set wb_toOpen = Workbooks.Open(Fname(i), ReadOnly:=True)

Set wb_master = ThisWorkbook

'J'active la page contenant la baie recherchée

With wb_toOpen.Worksheets("Représentation baie")

'Je créer une boucle pour récupérer les informations de la ligne 15 à 106 dans la colonne O(17) des DISKs

For j = 15 To 106

For Each cel In .Range(Cells(j, 17))

cel.Select

If Selection.MergeCells = True Then

wb_master.Worksheets("Feuil2").Cells(i, j) = Selection.Value

'Fermeture du fichier DISK

wb_toOpen.Close SaveChanges:=False

End If

Next cel

Next j

End With

Next i

End Sub

[/QUOTE]

Enfin, je vous remercie d'avance de votre aide !

6vbproject.xlsm (72.57 Ko)
Rechercher des sujets similaires à "recuperation donnees fusionnees travers fichiers"