Nouvelle demande d'aide pour compilation de fichiers (scolaire)
Le
RT
Bonjour à tous
Ceci fait suite à mon message « Ajoute automatique d'info dans la première
colonne vide » qui franchement n'a pas eu de succès (ce qui est rare sur ce
forum)
Je sais que mon problème n'est pas simple à résoudre, M'enfin (comme disais
l'autre)
Je cherche à créer une solution à un problème scolaire (instituteurs)
J'utilise un logiciel de QCM (création de questions/réponses multichoix)
Je crée une question et je donne plusieurs possibilités de réponses dont une
seule est valable (le principe des boitiers du jeu du millionnaire)
Ce logiciel enregistre les réponses (et temps de réponse) aux questions
A la fin de la session je peux exporter ces résultats vers un fichier xls
Et cela fonctionne parfaitement
Le problème vient aprés Je me retrouve avec différent fichiers xls
(résultats1, résultats2, résultats3, etc) pour une même classe
Je voudrais faire une compilation de ces fichiers en un seul fichier, et
avoir tous les résultats sur une même feuille
En tenant compte que tous les élèves ne sont pas tous toujours présents
Voici (plus ou moins) ce que le logiciel donne
Nom Score 1 Score 2 Score 3 % réussi
Jean 5 4 8
6.2
Pierre 6 8 6 7
Marie 8 4 9 7
Et dans une session différente les résultats seraient
Nom Score 1 Score 2 % réussi
Jean 7 5 6
André 8 9 8.5
Marie 4 7 5.5
A la suite de quoi je voudrais compiler ces informations en un seul fichier
Et sur une seule feuille dans le genre
Nom Score 1 Score 2 Score 3 Score 1bis Score
2bis % réussi
Jean 5 4 8
7 5 5.8
Pierre 6 8 6
Abs Abs 6.5
Marie 8 4 9
4 7 6.4
André Abs Abs Abs 8
9 8.5
Pour ceux qui ne me connaissent pas, je ne cherche pas une solution
complète, mais plutôt quelques coups de pieds dans la bonne direction
Je suppose que je devrais passer par des fonctions index et recherche et là
je ne encore nul part
Alors j'en appel à vous "Les maîtres, vous qui excellez en Excel"
Au secours! Je suis dans la panade jusqu'au cou
A bientôt et merci à tous
Rex
PS J'ai fait un tour sur Excelabo mais sans succès (ce qui est rare)
Par contre j'y ai trouvé un fichier (Piere) qui est nickel pour certains
prof!!!!!!
Ceci fait suite à mon message « Ajoute automatique d'info dans la première
colonne vide » qui franchement n'a pas eu de succès (ce qui est rare sur ce
forum)
Je sais que mon problème n'est pas simple à résoudre, M'enfin (comme disais
l'autre)
Je cherche à créer une solution à un problème scolaire (instituteurs)
J'utilise un logiciel de QCM (création de questions/réponses multichoix)
Je crée une question et je donne plusieurs possibilités de réponses dont une
seule est valable (le principe des boitiers du jeu du millionnaire)
Ce logiciel enregistre les réponses (et temps de réponse) aux questions
A la fin de la session je peux exporter ces résultats vers un fichier xls
Et cela fonctionne parfaitement
Le problème vient aprés Je me retrouve avec différent fichiers xls
(résultats1, résultats2, résultats3, etc) pour une même classe
Je voudrais faire une compilation de ces fichiers en un seul fichier, et
avoir tous les résultats sur une même feuille
En tenant compte que tous les élèves ne sont pas tous toujours présents
Voici (plus ou moins) ce que le logiciel donne
Nom Score 1 Score 2 Score 3 % réussi
Jean 5 4 8
6.2
Pierre 6 8 6 7
Marie 8 4 9 7
Et dans une session différente les résultats seraient
Nom Score 1 Score 2 % réussi
Jean 7 5 6
André 8 9 8.5
Marie 4 7 5.5
A la suite de quoi je voudrais compiler ces informations en un seul fichier
Et sur une seule feuille dans le genre
Nom Score 1 Score 2 Score 3 Score 1bis Score
2bis % réussi
Jean 5 4 8
7 5 5.8
Pierre 6 8 6
Abs Abs 6.5
Marie 8 4 9
4 7 6.4
André Abs Abs Abs 8
9 8.5
Pour ceux qui ne me connaissent pas, je ne cherche pas une solution
complète, mais plutôt quelques coups de pieds dans la bonne direction
Je suppose que je devrais passer par des fonctions index et recherche et là
je ne encore nul part
Alors j'en appel à vous "Les maîtres, vous qui excellez en Excel"
Au secours! Je suis dans la panade jusqu'au cou
A bientôt et merci à tous
Rex
PS J'ai fait un tour sur Excelabo mais sans succès (ce qui est rare)
Par contre j'y ai trouvé un fichier (Piere) qui est nickel pour certains
prof!!!!!!

Poser une question


1. création d'un nouveau workbook
2. lecture de tous les workbooks et création des différentes lignes et
colonnes avec les totaux.
bat
François.
Et merci pour la réponse
Avec mes longues portées et grand phares j'ai pas trop de problème, le hic
arrive quand je passe en code
Alors si quelqu'un serait assez gentil pour me donner ne fusse qu'un bout de
ficelle sur lequel je pourrais tirer, je serai pas mécontent pour un sou
A bientôt et encor emerci
Rex
"François" news:
J'ai préféré t'écrire le truc plutôt que de tout expliquer.
Je lis les classeurs situés dans le dossier indiqué par la variable "Chemin"
(à changer) dans la feuille "Feuil1" d'un classeur intitulé "130505.xls".
Le résultat final se trouve dans la feuille "resultat".
Sub test()
Dim c As Range, Chemin As String, Fichier As String, Ligne As Integer
Dim Plage As Range, Var As Variant, Ctr As Integer, j As Integer
Sheets("Feuil1").Activate
Range("A1").Select
'copie des données des fichiers score dans le classeur "130505.xls"
Chemin = "e:donneesdanielmpfescores" 'chemin à adapter
Fichier = Dir(Chemin)
Do While Fichier <> ""
Workbooks.Open Filename:=Fichier
Range("A1", Range("A1").SpecialCells(xlCellTypeLastCell)).Select
Selection.Resize(Selection.Rows.Count, Selection.Columns.Count -
1).Copy
Workbooks("130505.xls").Activate
ActiveSheet.Paste
Range("A65536").End(xlUp).Offset(1, 0).Select
Workbooks(Fichier).Close
Fichier = Dir
Loop
'Traitement des informations
'Les résultats sont inscrits sur la feuille "Resultats"
Sheets("Resultats").Activate
Range("A1").Value = "Nom"
Range("B1").Value = "Résultat"
Range("C1").Select
For i = 1 To 100
ActiveCell.Value = "Score " & i
ActiveCell.Offset(0, 1).Select
Next
Range("A2").Select
Sheets("Feuil1").Activate
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
If c.Value <> "Nom" Then
Var = Application.Match(c.Value,
Sheets("Resultats").Range("A:A"), 0)
If Not IsNumeric(Var) Then
Var = Sheets("Resultats").Range("a65536").End(xlUp).Row + 1
Sheets("Resultats").Range("A" & Var) = c.Value
End If
Ctr = 2
Do Until Sheets("Resultats").Range("A" & Var).Offset(0, Ctr)
= ""
Ctr = Ctr + 1
Loop
j = 1
Do While c.Offset(0, j).Value <> ""
Sheets("Resultats").Range("A" & Var).Offset(0,
Ctr).Value = c.Offset(0, j).Value
j = j + 1
Ctr = Ctr + 1
Loop
End If
Next c
End Sub
Cordialement.
Daniel
"RT"
Je suis terriblement pressé et à la bourre
Donc je n'ai pas le temps de l'essayer avant mercredi
MAIS je trouve toujours le temps de dire MERCI
Je fais des essais mercredi et je te tiens au courant PROMI
A bientôt et bon week-end
Rex
Et encore merci
"Daniel" news:
Je sais nous sommes dimanche
Mais j'ai enfin une paire d'heures pour essayer ton code
Chez moi il bloque sur les lignes
Sheets("Resultats").Range("A:A"), 0)
If Not IsNumeric(Var) Then
Var = Sheets("Resultats").Range("a65536").End(xlUp).Row + 1
Sheets("Resultats").Range("A" & Var) = c.Value
End If
Message d'erreur
""Propriété ou methode non géré par cet objet""
et la ligne Var=Sheets et en jaune
Si tu es en ligne et que ceci te dis quelque chose
Ou si quelqu'un d'autre a une idée
UN TOUT GRAND MERCI
Et à bientôt
Rex
"Daniel"