Synthétiser des tableaux en 1 seul

Fermé
buggy45 Messages postés 9 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 14 avril 2018 - 11 avril 2018 à 14:59
yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 - 17 avril 2018 à 17:02
Bonjour,
J'ai 6 tableaux dans 6 fichiers différents (même ligne de titres) je dois mettre les données dans 1 seul tableau RECAP.xlsm.
Dans la dernière colonne (W3) de mon tableau RECAP je dois inscrire le nom du fichier d'où proviennent les données.
Mon code est: Range("W3:W"& ActiveSheet.UsedRange.Rows.Count )="Karine"
Mais dans la colonne W, j'ai 1000 lignes avec "Karine"
Comment faire, je ne trouve pas de solution.
Le fichier Karine est le premier des 6.
merci de votre aide

2 réponses

yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
11 avril 2018 à 20:57
bonsoir, tu n'as qu'une seule ligne de code?
0
Bonsoir,
Non j'ai plusieurs lignes de code, mais il me semble que c'est celle-là qui ne fonctionne pas.

Je vous joints le début de mon code:

' supprimer la page sauf la 1er ligne
Sub DeleteExceptFirst()
Rows("2:" & Rows.Count).ClearContents
'Gras

Range("A2:W2").Font.Bold = True
' Ecriture des titres :
Range("A2") = "Date du Jour"
Range("B2") = "Nom de l'Enfant"
Range("C2") = "Prénom de l'Enfant"
Range("D2") = "Date de naissance de l'Enfant"
Range("E2") = "Civilité du responsable"
Range("F2") = "Nom du responsable"
Range("G2") = "Prénom du responsable"
Range("H2") = "Adresse"
Range("I2") = "Code postal"
Range("J2") = "Commune"
Range("K2") = "Catégorie"
Range("L2") = "Commune précédente"
Range("M2") = "Justificatif Domicile"
Range("N2") = "Numéro d'inscription"
Range("O2") = "Ecole Maternelle de Secteur"
Range("P2") = "Ecole Primaire de Secteur"
Range("Q2") = "Souhait de dérogation maternelle "
Range("R2") = "Souhait de dérogation élémentaire"
Range("S2") = "Motif de la dérogation"
Range("T2") = "Décision de la commission"
Range("U2") = "Frais de scolarité"
Range("V2") = "Observations"
'ouverture dossier karine:
Workbooks.Open "M:\ROY\Inscriptions scolaires\Préparation inscription\Rentrée 2018\Tableaux inscriptions scolaires\Karine.xlsx"
AvantDerniereLigne = ActiveSheet.UsedRange.Rows.Count + 1
Workbooks("Karine.xlsx").Sheets("Feuil1").Range("A3:V" & AvantDerniereLigne).Copy
Workbooks("Recap ESSAI.xlsm").Activate
Workbooks("Recap ESSAI.xlsm").Sheets("INSCRIPTIONS").Range("A3").Select
Workbooks("Recap ESSAI.xlsm").Sheets("INSCRIPTIONS").Paste
Range("W3:W" & ActiveSheet.UsedRange.Rows.Count + 1) = "Karine.xlsx"
'fermeture du dossier Karine:
Workbooks("Karine.xlsx").Close

'Ouverture du dossier valérie:
Workbooks.Open "M:\ROY\Inscriptions scolaires\Préparation inscription\Rentrée 2018\Tableaux inscriptions scolaires\Valérie.xlsx"
AvantDerniereLigne = ActiveSheet.UsedRange.Rows.Count + 1
Workbooks("Valérie.xlsx").Sheets("Feuil1").Range("A3:V" & AvantDerniereLigne).Copy
Workbooks("Recap ESSAI.xlsm").Activate
DebutNomFichier = ActiveSheet.UsedRange.Rows.Count + 1
Workbooks("Recap ESSAI.xlsm").Sheets("INSCRIPTIONS").Range("A" & ActiveSheet.UsedRange.Rows.Count + 1).Select
Workbooks("Recap ESSAI.xlsm").Sheets("INSCRIPTIONS").Paste
ActiveSheet.Range("W" & DebutNomFichier & ":W" & ActiveSheet.UsedRange.Rows.Count) = "Valérie"
Application.CutCopyMode = False
Workbooks("Valérie.xlsx").Close

Même code pour les 4 fichiers suivants.


Merci de votre aide
0
yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551
12 avril 2018 à 14:10
veux-tu dire que l'instruction suivante ne fait rien?
ActiveSheet.Range("W" & DebutNomFichier & ":W" & ActiveSheet.UsedRange.Rows.Count) = "Valérie"
0
Je ne comprends pas ta question.
Ma demande : je souhaite que le tableau recap où sont rapatriées toutes les données des autres tableaux me mettent dans la colonne W le nom du fichier d'où elles proviennent.
Ainsi concernant le fichier karine, dans la colonne W de mon tableau RECAP, j'ai 1000 "karine" alors que je n'ai rapatrié aucune données, vu qu'à ce moment là je n'e'n avais pas encore, le tableau du fichier Karine étant vide
merci
0
il me semble que le problème se pose sur la ligne:
Range("W3:W" & ActiveSheet.UsedRange.Rows.Count + 1) = "Karine.xlsx"
qui me met en colonne W 1000 lignes de "Karine"
Merci
0
yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
Modifié le 12 avril 2018 à 16:52
moi je commencerais pas assainir le code et supprimer tous les select et activate.
Option Explicit

' supprimer la page sauf la 1er ligne
Sub DeleteExceptFirst()
Dim cl_classe As Workbook
Dim f_classe As Worksheet, f_recap As Worksheet
Dim AvantDerniereLigne  As Long, DebutNomFichier As Long

Set f_recap = ThisWorkbook.Sheets("INSCRIPTIONS")
f_recap.Rows("2:" & Rows.Count).ClearContents
'Gras

f_recap.Range("A2:W2").Font.Bold = True
' Ecriture des titres :
f_recap.Range("A2") = "Date du Jour"
f_recap.Range("B2") = "Nom de l'Enfant"
f_recap.Range("C2") = "Prénom de l'Enfant"
f_recap.Range("D2") = "Date de naissance de l'Enfant"
f_recap.Range("E2") = "Civilité du responsable"
f_recap.Range("F2") = "Nom du responsable"
f_recap.Range("G2") = "Prénom du responsable"
f_recap.Range("H2") = "Adresse"
f_recap.Range("I2") = "Code postal"
f_recap.Range("J2") = "Commune"
f_recap.Range("K2") = "Catégorie"
f_recap.Range("L2") = "Commune précédente"
f_recap.Range("M2") = "Justificatif Domicile"
f_recap.Range("N2") = "Numéro d'inscription"
f_recap.Range("O2") = "Ecole Maternelle de Secteur"
f_recap.Range("P2") = "Ecole Primaire de Secteur"
f_recap.Range("Q2") = "Souhait de dérogation maternelle "
f_recap.Range("R2") = "Souhait de dérogation élémentaire"
f_recap.Range("S2") = "Motif de la dérogation"
f_recap.Range("T2") = "Décision de la commission"
f_recap.Range("U2") = "Frais de scolarité"
f_recap.Range("V2") = "Observations"

'ouverture dossier karine:
Set cl_classe = Workbooks.Open _
    ("M:\ROY\Inscriptions scolaires\Préparation inscription\Rentrée 2018\Tableaux inscriptions scolaires\Karine.xlsx")
Set f_classe = cl_classe.Sheets("Feuil1")
AvantDerniereLigne = f_classe.UsedRange.Rows.Count + 1
f_classe.Range("A3:V" & AvantDerniereLigne).copy destination:=f_recap.Range("A3")
f_recap.Range("W3:W" & f_recap.UsedRange.Rows.Count + 1) = "Karine.xlsx"
'fermeture du dossier Karine:
cl_classe.Close

'Ouverture du dossier valérie:
Set cl_classe = Workbooks.Open _
    ("M:\ROY\Inscriptions scolaires\Préparation inscription\Rentrée 2018\Tableaux inscriptions scolaires\Valérie.xlsx")
Set f_classe = cl_classe.Sheets("Feuil1")
AvantDerniereLigne = f_classe.UsedRange.Rows.Count + 1
DebutNomFichier = f_recap.UsedRange.Rows.Count + 1
f_classe.Range("A3:V" & AvantDerniereLigne).copy destination:=f_recap.Range("A" & DebutNomFichier)
f_recap.Range("W" & DebutNomFichier & ":W" & f_recap.UsedRange.Rows.Count) = "Valérie"
cl_classe.Close

'...

End Sub
0
Bonjour,
sur le 1er f_recap As Worksheet, j'ai un message d'erreur
"erreur de compilation" "type défini par l'utilisateur non défini"
Merci de m'aider
0
buggy45 Messages postés 9 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 14 avril 2018
14 avril 2018 à 18:00
Bonjour yg_be
Alors tu ne peux plus m’aider?
Pourtant j’ai vraiment besoin d’aide.Merci
0
yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > buggy45 Messages postés 9 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 14 avril 2018
14 avril 2018 à 19:01
je suis étonné de l'erreur. peux-tu partager ton fichier?
0
buggy45 Messages postés 9 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 14 avril 2018
14 avril 2018 à 20:38
Bonsoir.
Je veux bien le partager. Dis moi comment faire.
Mais de toute façon c’est assez simple.
J’ai un dossier avec 6 classeurs identiques remplis par 6 personnes différentes. Dans ce dossier j’ai créé un classeur récap (recap ESSAI )dont la feuille s’intitule « INSCRIPTIONS ».
L’orque je rapatrie les données des 6 classeurs, je voudrai que dans la colonne w s’inscit Le nom du classeur dont elles sont issues.
Cela marche. Sauf que pour le classeur « Karine » qui actuellement n’a pas encore de données j’ai dans la colonne w 1000 lignes avec le nom Karine.
Alors que je ne devrais avoir aucune ligne « Karine » mais enchaîner avec les données de « Valérie » avec inscription Valerie en colonne w.
Voilà.
Si ce n’est pas assez explicite je pourrai partager mon fichier si tu me donnes la marche à suivre
Merci beaucoup
0
yg_be Messages postés 23336 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 1 551 > buggy45 Messages postés 9 Date d'inscription mardi 21 avril 2015 Statut Membre Dernière intervention 14 avril 2018
14 avril 2018 à 20:56
en bien, tu publies ton fichier sur internet (cjoint, google drive, ...), et tu partages ici le lien vers le fichier publié.
0