Bonjour à tous,

Je cherche à coller des données depuis Excel dans une page web.
J'ai des textfield (éléments <input type="text" />) en ligne, et je souhaite que lorsque je copie plusieurs cellules en ligne depuis Excel, cela se colle à raison d'une cellule par textfield, dans ma page web.

J'ai des début d'éléments de réponse assez prometteurs, MAIS il reste quelques petits bugs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<html>
 
	<head>
		<title>Test copier-coller depuis Excel</title>
		<script src="http://www.prototypejs.org/assets/2008/9/29/prototype-1.6.0.3.js" type="text/javascript"></script>
 
		<script type="text/javascript">     
		  function init(){
			   Event.observe('f1', 'paste', pasteCol);
			   Event.observe('f2', 'paste', pasteCol);
			   Event.observe('f3', 'paste', pasteCol);
			   Event.observe('f4', 'paste', pasteCol);
			   Event.observe('f5', 'paste', pasteCol);
			   function pasteCol(event) { 
					var notes=window.clipboardData.getData("Text");
					var tab= new RegExp('[\t]');
					notes=notes.split(tab);
 
					for (i=0; i<notes.length; i++) {
						document.getElementsByTagName("input")[i].value = notes[i];
					}
			   }
		  }
		</script>
	</head>
 
	<body>
		<input type="text" name="f1" id="f1" size="5" />
		<input type="text" name="f2" id="f2" size="5" />
		<input type="text" name="f3" id="f3" size="5" />
		<input type="text" name="f4" id="f4" size="5" />
		<input type="text" name="f5" id="f5" size="5" />
  </body>
 
</html>
J'ai plusieurs soucis :

- Le premier est que lorsque je colle, tout se passe bien sauf dans la première cellule, toutes les données collées se mettent dans la première cellule, je cherche à savoir comment est-ce que je peux modifier le contenu de mon textfield après que le collage ait eu lieu...

- Le deuxième souci est de savoir dans quel cellule est-ce que le collage a eu lieu car si l'utilisateur colle dans la 2ème cellule, le premier souci sera présent mais dans la 2ème cellule cette fois-ci, et les cellules vont se remplir depuis la première (ce qui est normal lorsque l'on regarde mon code, puisque ma boucle for commence à l'élément 0 dans tous les cas). Donc je souhaite connaitre l'élément déclencheur de l'évènement...

Merci d'avance !!!

*** EDIT : Ne fonctionne QUE sous IE... ***