comment compiler des questionnaires?

  • Initiateur de la discussion comment compiler des questionnaires
  • Date de début
C

comment compiler des questionnaires

Guest
Bonjour à tous,

Je suis nouveau ici, et je débute sur excel... J'ai un pb que j'aimerais vous soumettre : je souhaite organiser un questionnaire simple sous excel avec environ 10 champs à saisir par chaque sondé.
Le pb c'est que je pense avoir à gérer environ 1000 fichiers(!)
Comment faire pour compiler d'une maniere la plus simple possible tous ces fichiers (qui correspondent chacun à 1 ou plusieurs enregistrements) en une unique base de donnée exploitable?

Merci beaucoup et bonne fin de journée.
Etienne
 
E

etienne

Guest
merci bcp
en fait je ne sais meme pas si c'est possible sur excel ou si je dois acheter un logiciel pour le gérer (ou si je dois 'gérer' 1000 ctrl C / ctrl V... en ayant préalablement renommé 1000 fichiers!!)

merci donc de me dire si qq'un pense à une solution quelconque...
a+
 

Soviet

XLDnaute Nouveau
Détail: qui va simplfier le truc est ce que tu peux mettre un fichier à titre d'exemple ou le code sur le forum ?


Sinon une idée est de faire deux boucles imbriquées
qui ouvre les fichiers des sondés un à un
qui fasse une selection de la zone de données sur le fichier
qui colle dans le fichier excel 'base de donnée' a la suite des autres données évidemment
qui ferme le fichier excel du sondé à chaque fin de boucle

Et qui affiche un message pour dire qu'il a fini
 
E

exemple de fichier

Guest
cijoint un exemple de questionnaire que je souhaite soumettre
NB : un sondé saisit pour 1 à 50 entités
j'ai fait un onglet transposé (c'est plus facile de saisir en colonne mais plus facile d'exporter vers access en lignes)
Ta proposition me paraît possible, mais ya du boulot avant que je sache faire ça! merci bcp en tout cas [file name=exemple_20050419182910.zip size=7045]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20050419182910.zip[/file]
 

Pièces jointes

  • exemple_20050419182910.zip
    6.9 KB · Affichages: 216

Soviet

XLDnaute Nouveau
En fait je n'ai pas eu le temps hier soir de receptionner ton fichier mais j'ai pu plancher quelques instants sur une solution possible

Option Explicit

Public Sub Compilation()
Application.DisplayAlerts = False
Dim i As Integer

For i = 1 To 3

Workbooks.Open 'c:\\test' & i & '.xls'
Workbooks('test' & i & '.xls').Worksheets('feuil1').Range('2:11').Copy
Workbooks('bdd.xls').Worksheets('feuil1').Range('A' & 10 * (i - 1) + 2).PasteSpecial
Workbooks('test' & i & '.xls').Close

Next i

ActiveWorkbook.Save

MsgBox 'j'ai fini de récapituler les données dans le fichier ' & ActiveWorkbook.Name

End Sub


ca se met dans un module

J'ai supposé que les fichier était nommé avec un ordre logique (testnumero.xls), j'ai fixé le nombre d'itération qui est le nombre de fichier et j'ai supposé qu'il y avait dix lignes.

Pour le nombre de fichier un filesearch devrait pouvoir te donner le nombre. Pour le nom bre de ligne il n'y a qu'a modifier les paramètres dans la formule. Ce n'est pas difficle à adapter
 
E

etienne

Guest
merci beaucoup!
j'ai une trame, et je pense pouvoir adapter...
le pb est donc le suivant : lorsque je réceptionnerais mes questionnaires remplis (probablement en piece jointe de mails) est-il possible de les renommer suivant un ordre logique (reponse1.xls, reponse2.xls etc) de manière automatique? vois-tu une manière de simplifier mon probleme?

merci encore et bonne journée
 

Soviet

XLDnaute Nouveau
Oui, carrement faisable.


ca doit donner un truc dans ce style pour l'exemple que je t'ai donné :

Public Sub trouvelesfichiersexceletrenommeles()

Application.DisplayAlerts = False

Dim fs As Office.FileSearch
Dim path As String
Dim nomfichier As Variant
Dim nomfichier2 As Variant
Dim message As String
Dim i As Long
Dim compteuri As Long
Dim nomeach As Variant

Set fs = Application.FileSearch
path = 'c:\\'

With fs

.NewSearch
.LookIn = path
.SearchSubFolders = False
.Filename = '*.xls'
compteuri = .Execute

i = 1

For Each nomfichier In .FoundFiles


nomeach = 'C:\\test' & i & '.xls'
If nomfichier <> 'C:\\bdd.xls' Or nomfichier <> nomeach Then

Workbooks.Open nomfichier

ActiveWorkbook.SaveAs 'c:\\test' & i & '.xls'

Workbooks('test' & i & '.xls').Close


End If

i = i + 1

Next nomfichier

End With


End Sub

Du coup tu as un exemple de 'filesearch' avec un 'For Each'. Ca devrait te permettre de faire un code un peu plus sympa pour ton récapitulatif de données.

En effet avec le for each tu n'aura plus besoin d'avoir des fichiers nommés avec une structure de nom bien précise.
 
E

etienne

Guest
tu lis dans mes pensees... mais j'avais deviné le coup de l'antislash!

en revanche je n'ai pas compris comment je dois procéder car :
les fichiers reponses que je vais recevoir en piece jointe de mails s'appelleront a priori tous par le meme nom.
Ce que je peux faire c'est demander à mes gentils sondés de m'envoyer en retour un fichier renommé (par leur nom par exemple).
Mais je devrais de toute façon toujours les enregistrer sur mon disque, n'est-ce pas? la macro ne peut fonctionner que si elle trouve les fameux fichiers à partir d'un emplacement sur mon disque, non?

a+
 
S

Soviet

Guest
Pour les fichiers que tu recevra de toute facon il n'y a pas cinquante solutions (5 en fait)

soit tu les renomme correctement au téléchragement
soit tu les mets chacun dans un répertoire différent
soit tu les écrases les uns après les autres mais c'est un peu balot
soit tu deviens méga balèze en prog internet pour créer une numérotation automatique à chaque réception
soit tu t'appelles Gandalf le magicien, mais tu n'aurai pas besoin du forum

vba.findejournée.craquage.désolé = true

Mais sur ce que je t'ai donné:
ce sont les deux premières solutions qui peuvent marcher
Cependant dans le second cas il faudra que tu adaptes le code pour lui faire accepter la recherche dans les sous répertoires et le test sur le nom de fichier (ce n'est pas monstrueux, je te rassure)

une soluce consiste à créer un double du fichier-sondage avec un nom préétabli grace à la mail-liste avant envoi. On peut gérer l'envoi par Excel (Sympa, non?) ensuite. Tout dépend de l'existence de ta mail-liste et de son format pour la codif.

Quest ce que tu en penses?
 

Discussions similaires

Statistiques des forums

Discussions
312 843
Messages
2 092 758
Membres
105 525
dernier inscrit
jabyou