[..] Fonction en rapport du nombre d'enregistrement excel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
energie13
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 25 mars 2009 15:48
Status : Hors ligne

[..] Fonction en rapport du nombre d'enregistrement excel

#1

Message par energie13 »

Bonjour,
J'ai un fichier excel. En fonction du nombre d'enregistrement( lignes) , je dois récupérer chaque numéro de téléphone de chaque ligne en effectuant un copier et lancer la fonction. Une fois la fonction exécutée il doit etre nécessaire de passer a la ligne suivante. (boucle)
J'ai crée ma fonction pour un cas : mais je ne sais pas comment faire pour compter le nb d'enregistrement et faire une boucle pour traiter tous les enregistrements de mon fichier excel.

Si besoin je peux rémunérer le travail. C'est une demande sérieuse et urgente.

Je vous remercie par avance.

Energie2b
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#2

Message par GaRydelaMer »

Bonjour

j'utilise quand à moi, les fonctions ADO pour faire ca.

Avec tu ouvres un RecordSet (jeu d'enregistrement) ou chaque ligne de ton fichier excel est une ligne de l'objet ADO.

Pour compter le nombre de ligne tu as des fonctions qui le font.
► Afficher le texte
Voila j'espère t'avoir donné quelques pistes pour trouver la solution à ton PB n'hésite pas à demander plus de détail si tu as besoin ou si tu bloque sur un truc.

Dernier petit Truc si tu es pas sur du nom de tes champs ou si tu veux les connaitre.

Code : Tout sélectionner

For $i = 0 To $oRS.Fields.Count - 1
    ConsoleWrite($oRS.Fields($i).Name & @LF)
Next
 
Voila mes 2 cents ;)
Modifié en dernier par Tlem le mer. 25 mars 2009 20:29, modifié 1 fois.
Raison : Ajout balise spoiler
energie13
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 25 mars 2009 15:48
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#3

Message par energie13 »

Merci bcp pour toutes ces infos :)
J'ai réussi partiellement a le mettre en application :
J'ai une seule colonne avec mes numéros de tel dont le premier champ est tel puis les autres de la colonne sont les num de tel. Il arrive bien a me lister le nb d'enregistrement et me lancer X fois la fonction en fonction du nb d'enregistrement cependant, il garde uniquement la valeur du 3e enregistrement (variable en statique) comment faire pour qu'il récupère le numéro de tel de chaque ligne ?
Je bosse encore la dessus. Vraiment merci pour ta réponse c genial :D
► Afficher le texte
Modifié en dernier par Tlem le mer. 25 mars 2009 20:30, modifié 2 fois.
Raison : Ajout balise spoiler
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#4

Message par GaRydelaMer »

Bonsoir

Code : Tout sélectionner

Local $tel = 0
While Not $oRS.EOF
    $tel = $oRS.Fields(0).Value
    funtest($tel) ; ou direct funtest($oRS.Fields(0).Value)

    $oRS.MoveNext ; surtout ne pas oublier sinon tu auras une boucle infinie
WEnd

Func funtest($numtel)
    If $umtel = "" Then return
    ConsoleWrite($numtel & @LF)
EndFunc
 
Dans cette boucle la variables $tel "change" à chaque tour avec la valeur de la ligne.
$oRS.Fields(0).Value lit la valeur de la colonne 0 de l'enregistrement courant.
ce qui correspond à la colonne 1 d'excel et à la ligne courante

Le MoveNext positionne un pointeur vers l'enregistrement suivant, et le rend courant
ce qui correspond à aller sur la cellule du bas.

En fait le While "tourne/boucle" tanque l'on est pas pas la fin $oRS.EOF (end of file) d'ou la condition de faire un MoveNext à chaque Tour.
Ce qui correspond à descendre à chaque fois d'une ligne.
ATTENTION même les dernières lignes vide et valide sous excel, ce qui va tromper le résultat du RecordCount.

La solution c'est du coté du SQL qu'elle existe:
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#5

Message par GaRydelaMer »

De ce que je comprend dans ton script tu veux coller le num dans une page web mais tu utilises pas la variable $tel.

Tu devrais jeter un œil du coté de l'UDF _IE.au3 pour interagir et chargé une page web dans un GUI.

De plus en, lisant ton code si tu deplace ta fenêtre ou tu change de résolution d'écran je suis pas sur que ca marche en utilisant les mouseMove surtout que tu peux rien faire sur le PC pendant ce temps.
energie13
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 25 mars 2009 15:48
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#6

Message par energie13 »

Comment dois je faire alors ?
Par rapport au code que je t'ai fourni (sans tenir compte de la fonction) a quoi doit-il ressembler ?
Je suis un peu perdu la je ne vois pas ou insérer la boucle par rapport au code initial que tu m'as communiqué ?
De plus j'ai une extension a ce projet et je souhaiterai avoir tes coordonnées en pv pour en discuter et te communiquer les modalités si ca t'intéresse...

Je te remercie encore pour tout.
GaRydelaMer
Niveau 7
Niveau 7
Messages : 450
Enregistré le : mer. 18 mars 2009 22:12
Localisation : Montpellier
Status : Hors ligne

Re: lancer fonction en rapport du nombre d'enregistrement excel

#7

Message par GaRydelaMer »

Bonsoir

tout dépend du contexte.

Si ton but est de récupérer depuis un fichier Excel ou autre on fait du générique, une information ici un Num de tel, et l'ajouter a un site web a très peu de sens, et trés peu sécurisé.

Maintenant revenons au contexte, si le site web est à toi, j'imagine que les infos sont stocké dans une base de données tu dois donc avoir un accès a cette base de données. Ici il s'agira simplement de dialoguer avec la base sans passer par un navigateur.

Sinon si tel est ton souhait de passer par un navigateur, utilise les fonction faites pour ca.

Ouvrir un connexion au site, naviguer vers la page je suppose un formulaire web et de poster les données. Mais la aussi il y a 2 manière (c'est le HTML) soit un "get" soit un "post".

EN get tu donne simplement l'adresse de la page avec les paramêtres le fonctionnement de google par exemple. C'est a toi de coder l'envoie des paramêtre.

Voir sur le forum pour les fonctions, HTTPrequest, WinInet.

Pour me contacter utilise les messages privé du Forum.
energie13
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 25 mars 2009 15:48
Status : Hors ligne

Re: [..] Fonction en rapport du nombre d'enregistrement excel

#8

Message par energie13 »

non pas du tout Ce n'est pas pour ca :)
Effectivement si c'était une db j'aurais pu faire une insertion de masse directement en important le fichier en le formatant pour du mysql ou autre. la ce sont différentes applications qui tournent et sur lesquelles je n'ai pas accès. Je suis obligé de traiter les cas unitairement en effectuant les mêmes commandes le tout est sécurisé mais ne fait pas référence a des pages web. c'est pour ca. Mon but est de récupérer chaque numéro de tel du fichier excel un a un et de lancer la fonction pour chaque numéro.

La fonction que j'ai mise ne sert qu'a titre d'exemple pour vérifier si ca fonctionne ou non. C'est pour ça que ça me faciliterait la vie si tu arrivais a m'aider pour développer cette fonction de base.
Je te remercie deja pour tes précieuses infos et de m'avoir répondu aussi rapidement. Je suis prêt également a te rémunérer pour le temps et te connaissances.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Fonction en rapport du nombre d'enregistrement excel

#9

Message par Tlem »

@energie13

Votre proposition de rémunération, n'a pas lieu d'être sur le forum car nous sommes dans une communauté d'entre aide et de part ce fait, chacun donne librement de son temps pour aider les autres.

Éventuellement vous pouvez discuter de ce genre de chose en privé, mais de grâce, évitez le sujet sur le forum.
Merci.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
energie13
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 25 mars 2009 15:48
Status : Hors ligne

Re: [..] Fonction en rapport du nombre d'enregistrement excel

#10

Message par energie13 »

Je comprends tout a fait la philosophie ma proposition portait simplement sur le temps qu'il passe. Merci encore pour votre forum
Répondre