XL 2010 Remplacer un tableau par un autre dans plusieurs fichiers

olfal

XLDnaute Nouveau
Bonjour à tous et pardon d'avance si la question a déjà été posée. Après assez longue recherche, je n'ai pas trouvé mon bonheur.

Je dispose de plus de 50 fichiers de structure identique :
- un onglet "tableau" : société, compte, montants pour l'année N
- un onglet "résultat" avec une recherchev qui vient chercher dans l'onglet tableau tous les montants de d'une seule société (j'ai évidemment un fichier par société)

Je veux actualiser l'ensemble de mes fichier pour l'année N+1 en remplaçant le tableau avec les montant de l'année N par le tableau avec les montants de l'année N+1.

Je n'ai trouvé aucune macro qui remplace en masse une feuille ou l'ensemble des cellules de la feuille ou le tableau nommé de manière identique dans tous les fichiers.

Par ailleurs,
- je ne dois pas casser (ou je dois reconstituer) la fonction "recherchev" de l'onglet résultat
- je dispose d'un fichier dans lequel j'ai une feuille "liste des fichiers à modifier" et une autre feuille "tableau" avec le nouveau tableau N+1 qui doit remplacer l'ancien

Je souhaite donc disposer d'une macro qui va opérer le remplacement de toutes les valeurs de "tableau" N par celles de "tableau" N+1.

Je vous remercie par avance pour votre aide
 

olfal

XLDnaute Nouveau
Re : Remplacer un tableau par un autre dans plusieurs fichiers

Bon... et un dernier détail pour atteindre la perfection, j'ai des liaisons externes dans chaque fichier à mettre à jour, du coup, à chaque fichier "société" qui s'ouvre, Excel me demande si je veux mettre à jour les liaisons et je dois répondre manuellement que nom... pour 200 fichiers, c'est douloureux... et je n'ai pas trouver le moyen de le désactiver une fois pour toute, une idée ?

Mille merci pour l'aide déjà fournie, et pour l'aide à venir.
 

thebenoit59

XLDnaute Accro
Re : Remplacer un tableau par un autre dans plusieurs fichiers

Ainsi ?

Code:
Option Explicit

Sub Remplacement_Tableau()
Dim Tabl(), i$, f As Workbook
    Tabl = Range("Tableau")

With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    .EnableEvents = False
End With

With Sheets("Sociétés")
    i = 39
    Do While .Cells(i, "A").Value <> ""
        Set f = Workbooks.Open(.Cells(i, "A").Value)
        f.Sheets("Tableau").Range("Tableau") = Tabl
        f.Close True
    i = i + 1
    Loop
End With

With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
    .EnableEvents = True
End With

End Sub
 

olfal

XLDnaute Nouveau
Re : Remplacer un tableau par un autre dans plusieurs fichiers

Désolé, j'ai mal dû me faire comprendre. Je donne la bonne adresse, mais pour une raison que je ne comprends pas, si cette adresse ne fonctionne pas si le dernier niveau de sous-dossier n'est pas nommé "Sociétés".

Pour le moment, j'ai lancé mes 200+ mises à jour de tableaux, et ça marche, mais dans un sous-dossier que j'ai rebaptisé "Sociétés".

Merci en tous cas, l'essentiel du travail est en cours en 2 ou 3 heures au lieu de quelques jours !
 

olfal

XLDnaute Nouveau
Re : Remplacer un tableau par un autre dans plusieurs fichiers

Bon, un fichier a bugé, j'en ai profité pour repartir à partir de ce fichier en ajoutant tes "With Application" dans la macro, mais il continu à me demander si je veux mettre à jour...
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 016
dernier inscrit
Mokson