Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Nouvelle demande d'aide pour compilation de fichiers (scolaire)

7 réponses
Avatar
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!!!!!!

7 réponses

Avatar
François
Je ne vois que la possibilité d'écrire du code.

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.



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!!!!!!







Avatar
RT
Bonjour

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" wrote in message
news:
Je ne vois que la possibilité d'écrire du code.

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.



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



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!!!!!!









Avatar
Daniel
Bonjour.
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" a écrit dans le message de news:


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

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!!!!!!






Avatar
RT
Bonjour

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" wrote in message
news:
Bonjour.
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" a écrit dans le message de news:


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

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!!!!!!










Avatar
Rex
Bonjour Daniel

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" a écrit dans le message news:

Bonjour.
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" a écrit dans le message de news:


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

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!!!!!!










Avatar
Daniel
Bonjour.
Le hic est qu'il y a beaucoup de cas de figure possibles.
(on est bien d'accord que :
Sheets("Resultats").Range("A:A"), 0) est la continuation de la ligne
précédente et non pas une commande par elle-même :
Var = Application.Match(c.Value, _
Sheets("Resultats").Range("A:A"), 0)
Tu peux :
1. Tester en modifiant le code de la manière suivante :
Sheets("Resultats").Range("A:A"), 0)
If Not IsNumeric(Var) Then
Var = Sheets("Resultats").Range("a65536").End(xlUp).Row + 1
msgbox Var
msgbox c.value
Sheets("Resultats").Range("A" & Var) = c.Value
End If
sauf que si tu ne plantes pas tout de suite, tu vas te payer une tonne de
msgboxes.
Relève les valeurs de Var et c au moment du plantage.
2. Recopier tous les noms en colonne A à partir de la cellule A2.
3. Si tes données ne sont pas trop confidentielles, transmet-moi le classeur
après la recopie sur le classeur cible (éventuellement, change les noms).
Bon courage.
Daniel

"Rex" a écrit dans le message de news:
%
Bonjour Daniel

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" a écrit dans le message news:

Bonjour.
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" a écrit dans le message de news:


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

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!!!!!!














Avatar
Rex
Bonsoir

Merci pour ta réponse
Je vais faire quelques tests et je te tiens au courant

LEs données ne sont pas confidentiel (pour l'instant) car j'en suis encore
au début
Mais les données sont sur mon PC au boulot et je ne serait au bureau que
mercredi soir ou jeudi matin
Si tu veux me contacter en direct il suffit de retirer pam (et non spam) de
mon email

A bientôt et encore merci

Rex


"Daniel" a écrit dans le message news:

Bonjour.
Le hic est qu'il y a beaucoup de cas de figure possibles.
(on est bien d'accord que :
Sheets("Resultats").Range("A:A"), 0) est la continuation de la ligne
précédente et non pas une commande par elle-même :
Var = Application.Match(c.Value, _
Sheets("Resultats").Range("A:A"), 0)
Tu peux :
1. Tester en modifiant le code de la manière suivante :
Sheets("Resultats").Range("A:A"), 0)
If Not IsNumeric(Var) Then
Var = Sheets("Resultats").Range("a65536").End(xlUp).Row +
1

msgbox Var
msgbox c.value
Sheets("Resultats").Range("A" & Var) = c.Value
End If
sauf que si tu ne plantes pas tout de suite, tu vas te payer une tonne de
msgboxes.
Relève les valeurs de Var et c au moment du plantage.
2. Recopier tous les noms en colonne A à partir de la cellule A2.
3. Si tes données ne sont pas trop confidentielles, transmet-moi le
classeur

après la recopie sur le classeur cible (éventuellement, change les noms).
Bon courage.
Daniel

"Rex" a écrit dans le message de news:
%
Bonjour Daniel

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" a écrit dans le message news:

Bonjour.
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" a écrit dans le message de news:


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

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!!!!!!