Intégrer des données d'un fichier (formulaire) vers un fichier de synthèse

nap

XLDnaute Occasionnel
Bonjour le Forum,

J'ai besoin d'aide pour le projet suivant.

Je dois intégrer dans un tableau de synthèse de multiples données issues d'un fichier modélisé. Ce modèle sera utilisé par de nombreux utilisateurs et le tableau de synthèse tenu en centralisé.

L'idée est que par une commande "simple" :eek: le tableau de synthèse soit mis à jour lorsuqe les fichier modélisés arrivent et sont ouverts en parallèle du fichier de synthèse.

J'ai préparé deux fichiers pour illustrer ma demande.

Merci de votre aide
 

Pièces jointes

  • formulaire_synthèse.xls
    22.5 KB · Affichages: 48
  • synthèse.xls
    18.5 KB · Affichages: 45
  • synthèse.xls
    18.5 KB · Affichages: 43
  • synthèse.xls
    18.5 KB · Affichages: 44

Robert

XLDnaute Barbatruc
Repose en paix
Re : Intégrer des données d'un fichier (formulaire) vers un fichier de synthèse

Bonsoir Nap, bonsoir le forum,

En pièce jointe ton fichier Synthèse modifié avec le code ci-dessous (et avec l'extension .xlsm puisque code..)
Code:
Private Sub CommandButton1_Click()
Dim CS As Workbook 'décalre la variable CS (Classeur Source)
Dim CD As Workbook 'décalre la variable CD (Classeur Destination)
Dim OS As Object 'décalre la variable OS (Onglet Source)
Dim OD As Object 'décalre la variable OD (Onglet Destination)
Dim DEST As Range 'décalre la variable DEST (cellule de DESTination)

ActiveCell.Select 'ellève le focus au bouton
Set CS = Workbooks("formulaire_synthèse.xls") 'définit la classeur source CS
Set OS = CS.Sheets("Feuil1") 'définit l'onglet source OS
Set CD = ThisWorkbook 'définit la classeur destination CD
Set OD = CD.Sheets("Feuil1") 'définit l'onglet destination OD
Set DEST = OD.Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination DEST
DEST.Value = OS.Range("E5").Value 'récupère la donnée
DEST.Offset(0, 1).Value = OS.Range("E7").Value 'récupère la donnée
DEST.Offset(0, 2).Value = OS.Range("E9").Value 'récupère la donnée
DEST.Offset(0, 3).Value = OS.Range("E10").Value 'récupère la donnée
DEST.Offset(0, 4).Value = OS.Range("E15").Value 'récupère la donnée
DEST.Offset(0, 5).Value = OS.Range("E16").Value 'récupère la donnée
DEST.Offset(0, 6).Value = OS.Range("E17").Value 'récupère la donnée
DEST.Offset(0, 7).Value = OS.Range("E18").Value 'récupère la donnée
DEST.Offset(0, 8).Value = OS.Range("E19").Value 'récupère la donnée
CD.Save 'enregiste le classeur destination CD
CS.Close SaveChanges:=False 'ferme le classeur source CS sans enregistrer
End Sub
Attention ce code implique que le fichier formulaire_synthèse.xls soit ouvert au préalable. Clique sur le bouton Récup pour récupérer les donner et fermer le classeur source. Ensuite tu ouvres un autre fichier formulaire etc... Comme tu n'as pas été précis sur le nom du classeur source j'ai codé avec un seul nom mais je doute que ce soit le cas et il faudra certainement adapter...

Le fichier :
 

Pièces jointes

  • synthèse.xlsm
    22.5 KB · Affichages: 38
  • synthèse.xlsm
    22.5 KB · Affichages: 42
  • synthèse.xlsm
    22.5 KB · Affichages: 41
Dernière édition:

nap

XLDnaute Occasionnel
Re : Intégrer des données d'un fichier (formulaire) vers un fichier de synthèse

Bonjour,

Merci pour ta réponse.
Tu as raison, chaque fichier "formulaire" portera un nom différent. J'espère que c'est pas un trop gros problème :confused:
Par contre, avec le fichier que tu as joins, j'arrive à implémenter une ligne d'un formulaire mais pas plus, j'ai un message d'erreur "9" L'indice n'appartient pas à la sélection.

J'ai du faire une mauvaise manip.

Merci encore
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Intégrer des données d'un fichier (formulaire) vers un fichier de synthèse

Bonsour Nap, bonjour le forum,

Relis ce que je te dis à la fin du premier post et tu comprendras pour l'erreur :

Attention ce code implique que le fichier formulaire_synthèse.xls soit ouvert au préalable...
Ensuite tu ouvres un autre fichier formulaire etc...
Donc si tu ouvres manuellement chaque fichier formulaire, le code ne devrait pas planter...

On pourrait demander à la macro d'ouvrir les fichiers formulaire un par un, récupérer les données, fermer le formulaire et ouvrir le suivant... Pour cela il faudrait que ces fichiers se trouvent tous dans le même dossier que le fichier qui contient la macro (synthèse.xlms) et savoir aussi comment sont nommés ces fichiers. Qu'ont-ils en commun dans le nom ? Par exemple : formulaire_synthèse_1.xls, formulaire_synthèse_2.xls, etc...
ou tous simplement n'importe quel fichier dont le nom est différent de synthèse.xlms. Mais dans ce cas, le dossier ne doit pas contenir de fichiers Excel n'ayant rien à voir avec l'opération de récupération de données.

Attendons ta réponse...
 

nap

XLDnaute Occasionnel
Re : Intégrer des données d'un fichier (formulaire) vers un fichier de synthèse

Bonjour Robert,

Désolé pour la réponse tardive :eek:
Les formulaires arriverons au compte goutte avec des noms qui pourraient être formulaire_123; formulaire_579; formulaire_4123 par exemple.

La première solution est plus élaborée et conviendrait parfaitement. La seconde solution me semble également répondre au besoin. Il n'y a pas de raison de classer dans le dossier des fichiers sans rapport avec le formulaire.

Merci encore.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 328
Membres
103 517
dernier inscrit
hbenaoun63