steph8032
Messages postés7Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention25 août 2009
-
10 nov. 2007 à 16:29
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
11 nov. 2007 à 12:41
Bonjour,
Je souhaite consolider 7 tableaux (tous dans des dossiers séparés) en 1 tableau (fichier ETATS) dans un autre fichier excel. Tous les tableaux ont une matrice identique, mais au fure et à mesure qu'il y a des modifications je veux que le fichier ETATS soit informé. Je pensais mettre en place un bouton VBA (MAJ=Mise à jour) dans chacun des 7 dossiers et quand les pers cliquent sur ce bouton celà va directement dans mon fichier ETATS s'enrgistrer avec les nouvelles modif. Attention!!! Il faudrait qu'à chaque fois l'ancien fichier ETATS s'écrase pour le nouveau, ce qui m'importe c'est seulement le dernier. Est-ce possible de m'aider? Merci d'avance,
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 nov. 2007 à 20:28
Salut
Je ne suis pas un as de Excel, mais je dirais que tu prends le problème à l'envers : C'est la feuille récapitulative ETATS qui doit aller chercher les infos dans les 7 autres feuilles.
Suffirait d'aller rechercher des données dans un fichier externe avec une simple syntaxe :
= '[autre fichier.xls]Feuil1'!$B$8
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
steph8032
Messages postés7Date d'inscriptionsamedi 10 novembre 2007StatutMembreDernière intervention25 août 2009 11 nov. 2007 à 11:26
Bonjour,
Suite à ton message, j'ai commencé par ETATS, et voilà ce que j'ai effectué.
Mes problèmes:
1-Si une ligne s'ajoute dans l'un des 7 fichiers ma macro ne le prend pas en compte.
2-J'aimerais que les données se suppriment au fur et à mesure que j'appuie sur mon bouton MAJ pour laisser place aux nouvelles données des 7 tableaux.
Merci beaucoup pour ton aide.
Sub MAJ()
'
' MAJ Macro
'
MSG = "CONFIRMATION DE LA NOUVELLE MISE A JOUR"
Title = "Voulez-vous continuez?"
Style = vbYesNo + vbCritical + vbDefaultButton2
reponde = MsgBox(Title, vbYesNo, MSG)
'
If reponse = 6 Then
'ouvrir le 1er tableau
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 11 nov. 2007 à 12:41
Jack a parfaitement raison. Pourquoi faire une macro quand Excel fait déjà très bien ce que tu veux ?
... à moins aimer s'enmerder...
Pour consolider les tableaux "Suivi dys1.xls", "Suivi dys2.xls", etc... dans le fichier unique "ETATS" avec les onglets "Tab1", "Tab2" , etc ... qui doivent être respectivement la copie actualisée des "suivi dys1.xls", etc... suit les étapes suivantes :
1. Ouvre tout les tableaux : Etats, suivi dys1, suivi dys2, etc...
2. Dans Etats onglet Tab1 cellule A1, tape la formule : "=" et passe dans le fichier "Suivi dys1" avec le menu Fenêtre>Suivi Dys1.xls
3. Sélectionne la première case (A1)
4. Puis ENTER... Donc tu obtients dans le fichier ETATS, la formule copiant la case A1 de "Suivi Dys1"... En principe tu vois : "=[Suivi dys1.xls]Feuil1!$A$1"
5. A cette formule, retire les références absolues (sans $), soit : "=[Suivi dys1.xls]Feuil1!A1
6. Copie cette cellule, et recopie la dans la plage que tu désire (ici A2:AK39).
7. Tu obtients alors la recopie dans "Tab1" de "Etats.xls" de "feuil1" de "Suivi dys1.xls"
8. Tu fais la même chose, pour les autres fichiers...
9. enregistre "Etats".
THE END.
Maintenant, ferme tous les fichiers... Si tu ouvre de nouveau ETATS, le fichier ira chercher dans les autres fichiers (non ouverts en passant) les données...
Si les données sont des cases vides, tu verra zéro "0" s'afficher... Si cela te gêne tu peux utiliser compéter les formules de recopie avec la fonction "SI"