Forums développeurs windev Tunidev
Howdy Guest! Connexion / Create an account
Se connecter
Utilisateur :
Mot de passe :
 
  • Portail
  • Forums
  • Recherche
  • Members
  • Calendrier
  • Aide
Forums développeurs windev  /  Forums Développeurs WINDEV  /  TRUCS & ASTUCES v
1 2 Suivant »
 /  Copier-coller depuis Excel dans une table Windev
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Copier-coller depuis Excel dans une table Windev
ASG2012 Hors ligne
Member
***
Messages : 96
Sujets : 55
Inscription : May 2011
Réputation : 0
Thanks: 0
Given 0 thank(s) in 0 post(s)
#1
01-07-2011, 07:11 PM
Ce code permet d'ajouter dans une table Windev des cellules copiées dans MS Excel. Ca devrait aussi fonctionner avec Open Office (Calc).
Code :
sTxt, sLigne est une chaîne
i, nPosTAB, nPosCR, nPosMax, j, nb, nAscii, nPosVirgule sont des entiers
bQueChiffresDepuisTAB, bVirguleDepuisTAB est un booléen

SI PressePapierFormat(ppfTexte) ALORS
   // récupère le texte dans le presse-papier
   sTxt = PressePapier()
   nPosMax = Taille(sTxt)
   i = 1  // indiquera la position courante du balayage de la chaine
   TANTQUE i <= nPosMax
      // récupère la prochaine ligne (avant le retour chariot)
      nPosCR = Position(sTxt, CR, i)
      SI nPosCR = 0 ALORS  // pas de nouvelle ligne trouvée
         sLigne = Milieu(sTxt,i,nPosMax-i+1)
         i = nPosMax + 1
      SINON
         sLigne = Milieu(sTxt,i,nPosCR-i)
         i = nPosCR + 2
      FIN
      
      // remplace les virgules par des points dans les nombres à virgules
      // (lors d'un copier dans Excel, une tabulation sépare les champs)
      nb = Taille(sLigne)
      bQueChiffresDepuisTAB = Vrai
      bVirguleDepuisTAB = Faux
      POUR j=1 A nb
         nAscii = Asc(Milieu(sLigne,j,1))
         SI nAscii=9 ALORS  // tabulation
            SI bQueChiffresDepuisTAB ET bVirguleDepuisTAB ALORS
               sLigne = Gauche(sLigne,nPosVirgule-1)+"."+Droite(sLigne,nb-nPosVirgule)
            FIN
            bQueChiffresDepuisTAB = Vrai
         SINON SI nAscii=44 ALORS  // test si virgule
            bVirguleDepuisTAB = Vrai
            nPosVirgule = j
         SINON SI nAscii<48 OU nAscii>57 ALORS  // test si pas chiffre
            bQueChiffresDepuisTAB = Faux
         FIN
      FIN
      
      // ajout de la ligne dans la table
      TableAjoute(TABLE_Donnees, sLigne)
   FIN
FIN
  Trouver
  Répondre
tunidev Hors ligne
Administrator
*******
Messages : 1,425
Sujets : 79
Inscription : Sep 2003
Réputation : 0
Thanks: 42
Given 1 thank(s) in 1 post(s)
#2
30-09-2011, 08:43 PM
Merci pour ces astuces
formidable!
http://www.freegaza.org/
Site web   Trouver
  Répondre
TheDuke Hors ligne
Posting Freak
*****
Messages : 1,599
Sujets : 115
Inscription : Nov 2006
Réputation : 1
Thanks: 7
Given 1 thank(s) in 1 post(s)
#3
03-10-2011, 12:07 AM
Ah oui, celle la est superbe!

Merci pour le partage! :lol:
  Trouver
  Répondre
chaniby Hors ligne
Junior Member
**
Messages : 36
Sujets : 11
Inscription : Dec 2010
Réputation : 0
Thanks: 0
Given 0 thank(s) in 0 post(s)
#4
05-10-2011, 10:09 PM
C'est formidable ce travail

je l'ai essayé ça marche, mais au niveau des dates il y a un problème,

est ce qu'il y a une solution?

et merci d'avance
[Image: http://images.neobux.com/imagens/banner9.gif]
Site web   Trouver
  Répondre
FranckiVinC Hors ligne
Junior Member
**
Messages : 2
Sujets : 0
Inscription : Oct 2011
Réputation : 0
Thanks: 0
Given 0 thank(s) in 0 post(s)
#5
19-10-2011, 01:45 PM
Bonjour,
Je ne comprends pas où copier/coller ce bout de code?
Est-ce dans la l'initialisation de la table? A quel moment?
Merci par avance
  Trouver
  Répondre
FranckiVinC Hors ligne
Junior Member
**
Messages : 2
Sujets : 0
Inscription : Oct 2011
Réputation : 0
Thanks: 0
Given 0 thank(s) in 0 post(s)
#6
20-10-2011, 09:11 AM
Le code fonctionne
malheureusement, il ne colle que a la fin du tableau.
La variable nPosTAB n'est pas utiliser dans le code. Comment faire pour que le collage se fait a partir de la cellule selectionnée?
Merci
  Trouver
  Répondre
« Sujet précédent | Sujet suivant »


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Importer Eporter depuis et vers Excel Dinocriss 2 3,829 27-08-2011, 12:53 PM
Dernier message: Dinocriss
  obtenir le nombre de secondes écoulées depuis une date ASG2012 0 1,535 30-06-2011, 11:49 AM
Dernier message: ASG2012
  Comment copier des enregistrements d`un fichier d`un serveur ASG2012 0 1,354 30-06-2011, 11:20 AM
Dernier message: ASG2012
  HELLO WORLD DANS EXCEL Ralymba 0 8,013 13-12-2007, 08:31 AM
Dernier message: Ralymba
  CHANGEMENTSQ DEPUIS LA VERSION 5.5, 0 341 Il y a moins de 1 minute
Dernier message:

  • Voir une version imprimable
  • S’abonner au sujet
Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)

About Tunidev

Forum des developpeurs windev.

Quick Links

  • Contact Us
  • Tunidev
  • Forum Team
  • Lite Version

 

Powered by MyBB, © 2002-2019 MyBB Group.

Focus MyBB Theme by WallBB

Affichage linéaire
Affichage hiérarchique