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).
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)
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 !