Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3007 connectés 

  FORUM HardWare.fr
  Programmation

  Lotus Notes et Excel...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lotus Notes et Excel...

n°99754
dirakocha
Posté le 13-02-2002 à 10:00:56  profilanswer
 

Salut les gens,
 
Bon g un chtit pb, je cherche à trier un fichier excel via lotus notes. G chercher mais le script que g trouvé marche po ... il me dit illegal use of parenthese :??:
 
le script -->
ExcelSheet.cells.Select
ExcelSheet.Selection.Sort("Range(" & Chr$(34) & "A1" & Chr$(34) & " )", "xlAscending", "xlGuess", 1, "False", "xlTopToBottom" )
 
En clair si qlq1 sais comment je peux trier un fichier excel à partir d'un LotusScript ca m'aiderait bcp :)
 
Thx @+


---------------
Q.G Tutoriaux ici
mood
Publicité
Posté le 13-02-2002 à 10:00:56  profilanswer
 

n°99889
dirakocha
Posté le 13-02-2002 à 14:10:23  profilanswer
 

Personne n'a d'id ?? :(
 
Je cherche depuis ce matin et g tjrs po trouver la solution so...


---------------
Q.G Tutoriaux ici
n°99984
dirakocha
Posté le 13-02-2002 à 16:25:40  profilanswer
 

G toujours po trouver et vous ;)


---------------
Q.G Tutoriaux ici
n°100130
dirakocha
Posté le 14-02-2002 à 08:40:47  profilanswer
 

Bon ben UP car g po la solution


---------------
Q.G Tutoriaux ici
n°100134
m@nou
vu z'avais pas vu
Posté le 14-02-2002 à 09:07:37  profilanswer
 

salut tôa  
 
je v essayer de jeter un oeil ;)
t'aurais pas un bout de code déjà à m'envoyer
 
car ce que tu fais (classe OLE XL) çà doit marcher.


---------------
Mes photos,Feed-Back HA/V
n°100161
m@nou
vu z'avais pas vu
Posté le 14-02-2002 à 10:03:05  profilanswer
 

sinon pour ton bout de script du premier post met juste
un call
 
call ExcelSheet.Selection.Sort("Range(" & Chr$(34) & "A1" & Chr$(34) & " )", "xlAscending", "xlGuess", 1, "False", "xlTopToBottom" )
 
çà devrait te supprimer l'erreur à la validation de ton script.
c'est pas lié aux classes XL çà fait pareil avec des classes lotus notes quand t'utilses des méthodes avec passage de paramètres (qui sont en fait des fontions donc sensée être appelé comme çà x=laméthode() )


---------------
Mes photos,Feed-Back HA/V
n°100223
dirakocha
Posté le 14-02-2002 à 11:27:02  profilanswer
 

Yep yep M@nou heureusement que tu es là toi ;)  
En fait le truc c que je veux trier le fichier excel pour me faciliter la tache...
 
Objectif du prog --> Comparer les chiffres de 2 bases afin de  
                     constater les ecarts
 
Prog --> Un premier prog ki parcourt la base 1 et stock ds un  
         fichier Excel les chiffres ki nous interesse.
 
         Un deuxieme prog ki fait la meme chose que le premier
         mais pour une otre base.
 
         Un troisieme prog ki doit comparer les chiffres des 2  
         fichiers Excel précédent.
 
Tu comprends pourkoi je veux trier le fichier, comme ça je descends les 2 files et dès qu'une ligne n'est po identique --> Boom erreur, apres on voit si c les chiffres, si le produit a disparu, si c un new produit etc...
 
Sinon tu n'as po un bouquin sympa a me conseiller sur LotusScript car toutes les docs kils ont a ma boite sont po top ;)  
Genre pour trouver des infos sur les class OLE Excel et tout le tralala et ben y'a rien ici !!  :pt1cable:  
 
Bon je te remercie de ton aide ki m'est tres precieuse je l'avoue :)
 
@+ :jap:  
 
PS: pour le script je fais un otre reply, celui-ci etant bien chargé déjà ;)


---------------
Q.G Tutoriaux ici
n°100236
dirakocha
Posté le 14-02-2002 à 11:40:02  profilanswer
 

Voilà le script en entier :
 
Sub exportPhase1
 
 Dim session As New NotesSession
 Dim db As NotesDatabase
 Dim view As NotesView
 Dim view_profile As NotesView
 Dim collection As NotesDocumentCollection
 Dim doccollection As NotesDocument
 Dim docprofile As NotesDocument  
 Dim doc1 As NotesDocument
 Dim docSave As NotesDocument
 Dim keys (1 To 2 )
 Dim ExcelObj As Variant
 Dim ExcelBook As Variant
 Dim ExcelSheet As Variant
 Dim ExcelRange As Variant
 Dim cpt As Single
 cpt=0
 
 Set db = session.GetDatabase("Falcon/Eur/Raychem","FASTTEDDSELL2001RI.nsf" )
 
 'Log file creation
 Set agentLog = New NotesLog ("LoadFast/Productional compare" )
 Call agentLog.OpenNotesLog ("","logresearch.nsf" )
 Call agentLog.LogAction("Beginning of comparison at " & Format(Now(),"Long Time" ))
 
 'View selection
 Set view = db.GetView("$researchview" )
 Set view_profile = db.GetView("dbprofile" )  
 Set doc1 = view.GetFirstDocument
 Set docprofile = view_profile.GetFirstDocument
 
 
 Set ExcelObj = CreateObject("Excel.Application" )
 Set ExcelBook = ExcelObj.Workbooks.Add
 Set ExcelSheet = ExcelBook.Worksheets (1)
 pathXL$ = ExcelObj.path
 path$="d:\Test\"
 file$="exportPhase1.xls"
 pathfile$=path$+file$
 
 
 i& = 1
 lineXL% = 1
 
 ExcelObj.visible = True
 ExcelObj.Columns.Select
 ExcelObj.Selection.NumberFormat = "@"
 
 
 columnSalesNumXL% = 1  
 columnCustnumXL% = 2
 columnOrgidXL% = 3
 columnPCNXL% = 4
 
 columnForecast2002Q1XL% = 5
 columnForecast2002Q2XL% = 6
 columnForecast2002Q3XL% = 7
 columnForecast2002Q4XL% = 8
 
 columnForecast2003Q1XL% = 9
 columnForecast2003Q2XL% = 10
 columnForecast2003Q3XL% = 11
 columnForecast2003Q4XL% = 12
 
 columnPlan2002Q1XL%= 13
 columnPlan2002Q2XL%= 14
 columnPlan2002Q3XL%= 15
 columnPlan2002Q4XL%= 16
 
 columnActual2002Q1XL% = 17
 columnActual2002Q2XL% = 18
 columnActual2002Q3XL% = 19
 columnActual2002Q4XL% = 20
 
 ExcelSheet.cells(lineXL%,columnSalesNumXL%).value = "Salesman Number         "
 ExcelSheet.cells(lineXL%,columnCustnumXL%).value = "Custnum          "
 ExcelSheet.cells(lineXL%,columnOrgidXL%).value = "Orgid          "
 ExcelSheet.cells(lineXL%,columnPCNXL%).value = "PCN      "
 
 ExcelSheet.cells(lineXL%,columnForecast2002Q1XL%).value = "Forecast 2002 Q1"  
 ExcelSheet.cells(lineXL%,columnForecast2002Q2XL%).value = "Forecast 2002 Q2"  
 ExcelSheet.cells(lineXL%,columnForecast2002Q3XL%).value = "Forecast 2002 Q3"  
 ExcelSheet.cells(lineXL%,columnForecast2002Q4XL%).value = "Forecast 2002 Q4"  
 
 ExcelSheet.cells(lineXL%,columnForecast2003Q1XL%).value = "Forecast 2003 Q1"  
 ExcelSheet.cells(lineXL%,columnForecast2003Q2XL%).value = "Forecast 2003 Q2"  
 ExcelSheet.cells(lineXL%,columnForecast2003Q3XL%).value = "Forecast 2003 Q3"  
 ExcelSheet.cells(lineXL%,columnForecast2003Q4XL%).value = "Forecast 2003 Q4"  
 
 ExcelSheet.cells(lineXL%,columnPlan2002Q1XL%).value = "Plan 2002 Q1"
 ExcelSheet.cells(lineXL%,columnPlan2002Q2XL%).value = "Plan 2002 Q2"
 ExcelSheet.cells(lineXL%,columnPlan2002Q3XL%).value = "Plan 2002 Q3"
 ExcelSheet.cells(lineXL%,columnPlan2002Q4XL%).value = "Plan 2002 Q4"
 
 ExcelSheet.cells(lineXL%,columnActual2002Q1XL%).value = "Actual 2002 Q1"
 ExcelSheet.cells(lineXL%,columnActual2002Q2XL%).value = "Actual 2002 Q2"
 ExcelSheet.cells(lineXL%,columnActual2002Q3XL%).value = "Actual 2002 Q3"
 ExcelSheet.cells(lineXL%,columnActual2002Q4XL%).value = "Actual 2002 Q4"
 
 lineXL% = 3  
 
 
 If Not(doc1 Is Nothing) Then
   
 ' While Not(doc1 Is Nothing)
   
   ' Save the current document
  Set docSave = doc1
   
  keys(1) = doc1.salesmannum(0)
  keys(2) = doc1.custnum(0)
   
   ' Get the collection from the productional database by salesmannum and custnum  
  Set collection = view.GetAllDocumentsByKey(keys,True)
  Set doccollection = collection.GetFirstDocument
'   Messagebox("Nb doc : " & collection.count)
   
  ' While Not(doccollection Is Nothing)
  While Not( cpt = 5)  
   
   ExcelSheet.cells(lineXL%,columnSalesNumXL%).value = doccollection.salesmannum(0)
   ExcelSheet.cells(lineXL%,columnCustnumXL%).value = doccollection.custnum(0)
   ExcelSheet.cells(lineXL%,columnOrgidXL%).value = doccollection.acctorgid(0)
   ExcelSheet.cells(lineXL%,columnPCNXL%).value = doccollection.PCN(0)
   
   ExcelSheet.cells(lineXL%,columnForecast2002Q1XL%).value = doccollection.runfcs_q1_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2002Q2XL%).value = doccollection.runfcs_q2_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2002Q3XL%).value = doccollection.runfcs_q3_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2002Q4XL%).value = doccollection.runfcs_q4_sh(0)
   
   ExcelSheet.cells(lineXL%,columnForecast2003Q1XL%).value = doccollection.runfcsnextfy_q1_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2003Q2XL%).value = doccollection.runfcsnextfy_q2_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2003Q3XL%).value = doccollection.runfcsnextfy_q3_sh(0)
   ExcelSheet.cells(lineXL%,columnForecast2003Q4XL%).value = doccollection.runfcsnextfy_q4_sh(0)
   
   ExcelSheet.cells(lineXL%,columnPlan2002Q1XL%).value = doccollection.plan_q1_sh(0)
   ExcelSheet.cells(lineXL%,columnPlan2002Q2XL%).value = doccollection.plan_q2_sh(0)
   ExcelSheet.cells(lineXL%,columnPlan2002Q3XL%).value = doccollection.plan_q3_sh(0)
   ExcelSheet.cells(lineXL%,columnPlan2002Q4XL%).value = doccollection.plan_q4_sh(0)
   
   ExcelSheet.cells(lineXL%,columnActual2002Q1XL%).value = doccollection.act_q1_sh(0)
   ExcelSheet.cells(lineXL%,columnActual2002Q2XL%).value = doccollection.act_q2_sh(0)
   ExcelSheet.cells(lineXL%,columnActual2002Q3XL%).value = doccollection.act_q3_sh(0)
   ExcelSheet.cells(lineXL%,columnActual2002Q4XL%).value = doccollection.act_q4_sh(0)
   
   lineXL%=lineXL%+1
   cpt=cpt+1
   Set doccollection = collection.GetNextDocument(doccollection)
   
  Wend
   
 '  While (doc1.salesman(0) = docSave.salesman(0) And doc1.custnum(0) = docSave.custnum(0))
 '   Set doc1 = view.GetNextDocument(doc1)
 '  Wend
   
 ' Wend
   
 End If  
 
 ExcelSheet.cells.select
 Call ExcelSheet.Selection.Sort("Range(" & Chr$(34) & "A1" & Chr$(34) & " )", "xlAscending", "xlGuess", 1, "False", "xlTopToBottom" )  
 
 With ExcelObj
  .cells
  .Selection.Columns.AutoFit  
 End With
 
 
 Call ExcelBook.SaveAs(pathfile$,True)
 Msgbox "File save on " + pathfile$
 Call ExcelObj.Quit
 
End Sub


---------------
Q.G Tutoriaux ici
n°100446
m@nou
vu z'avais pas vu
Posté le 14-02-2002 à 17:13:24  profilanswer
 

dirakocha a écrit a écrit :

Yep yep M@nou heureusement que tu es là toi ;)  
En fait le truc c que je veux trier le fichier excel pour me faciliter la tache...
 
Objectif du prog --> Comparer les chiffres de 2 bases afin de  
                     constater les ecarts
 
Prog --> Un premier prog ki parcourt la base 1 et stock ds un  
         fichier Excel les chiffres ki nous interesse.
 
         Un deuxieme prog ki fait la meme chose que le premier
         mais pour une otre base.
 
         Un troisieme prog ki doit comparer les chiffres des 2  
         fichiers Excel précédent.
 
Tu comprends pourkoi je veux trier le fichier, comme ça je descends les 2 files et dès qu'une ligne n'est po identique --> Boom erreur, apres on voit si c les chiffres, si le produit a disparu, si c un new produit etc...
 
Sinon tu n'as po un bouquin sympa a me conseiller sur LotusScript car toutes les docs kils ont a ma boite sont po top ;)  
Genre pour trouver des infos sur les class OLE Excel et tout le tralala et ben y'a rien ici !!  :pt1cable:  
 
Bon je te remercie de ton aide ki m'est tres precieuse je l'avoue :)
 
@+ :jap:  
 
PS: pour le script je fais un otre reply, celui-ci etant bien chargé déjà ;)  




 
bon je regarde le script  
pour la doc j'utilise les références des OLE classes excel dans le designer Notes ;) et la doc VBA XL.

 

[jfdsdjhfuetppo]--Message édité par m@nou--[/jfdsdjhfuetppo]


---------------
Mes photos,Feed-Back HA/V
n°100746
dirakocha
Posté le 15-02-2002 à 11:45:25  profilanswer
 

'tain ça fonctionne toujours po :( et pourtant c po faute d'essayer  
En plus les docs OLE Excel ds Notes et ben elles sont po complètes il manque des trucs :D :lol: je vais réécrire Lotus Notes moa si ça continue :lol:
 
Bon allez un chtit [:dirakocha] pour la forme


---------------
Q.G Tutoriaux ici
mood
Publicité
Posté le 15-02-2002 à 11:45:25  profilanswer
 

n°100960
m@nou
vu z'avais pas vu
Posté le 15-02-2002 à 15:46:38  profilanswer
 

kesse ki marche pas exactement juste le "sort" ?
 
 
edit:
 
bon j'ai commencé à regarder ta ligne de code mais sans l'aide VBA c'est pas cool :(
je te tiens au jus ;)

 

[jfdsdjhfuetppo]--Message édité par m@nou--[/jfdsdjhfuetppo]


---------------
Mes photos,Feed-Back HA/V
n°101645
dirakocha
Posté le 18-02-2002 à 01:04:16  profilanswer
 

Yep yep M@nou,  
g réussit en parti à faire le sort de mon fichier excel :D
j'ai plus trop la soce en tête, d'une part car je suis po o taf là :p et pis ossi car il est tard et que le php commence à embrouiller ma vision des choses :lol:
 
Bon j'y retourne et te send la soluce si ça t'intéresse :)
 
Allez @+ et encore merci pour ton aide  :jap:  :jap:  :jap:


---------------
Q.G Tutoriaux ici
n°101665
m@nou
vu z'avais pas vu
Posté le 18-02-2002 à 08:36:13  profilanswer
 

ben de rien ;)
moi j'ai pas trop regardé ce WE. j'ai presque pas touché les PCs d'ailleurs ;)
 
Jardinage et bricolage au programme : faut bien profiter du soleil quand il est là  :sol:


---------------
Mes photos,Feed-Back HA/V
n°101706
dirakocha
Posté le 18-02-2002 à 10:58:30  profilanswer
 

Yep yep, c vrai kil a fé bo ce w-e mais gt trop deprime pour bouger mon cul (ma copine est partie pour encadrer des enfants o sky la vilaine :na: )
 
Résultat --> je fais du php pour passer le temps entre 2 CS :D
 
Sinon pour le sort voici la soluce :
 
Set ExcelSortRange = ExcelSheet.Range("$A3:$U" & lineXL%)
 Call ExcelSortRange.Sort(ExcelSortRange.cells(3,2), 1, , ExcelSortRange.cells(3,5), 1, ExcelSortRange(3,1), 1, 0, 1, 0, 1)
 
En fait ct tout con mais ça m'a bien pris la tête qd même :lol:
 
Enfin voilà bon ben j'espère que ton jardinage c bien passé, remarque vu le temps qu'il a fait ça e pouvait qu'être bien ;)
 
Allez @+


---------------
Q.G Tutoriaux ici
n°101712
dirakocha
Posté le 18-02-2002 à 11:03:48  profilanswer
 

Arff si con moi je mets la soluce sans l'expliquer :p
 
Bon alors on y va:
 
Set ExcelSortRange = ExcelSheet.Range("$A3:$U" & lineXL%)//c la selection, bref ce ke tu veux trier.. --> donc de A3 jusqu'à Ux  ou x= la derniere ligne de ton fichier XL
Call ExcelSortRange.Sort(ExcelSortRange.cells(3,2), 1, , ExcelSortRange.cells(3,5), 1, ExcelSortRange(3,1), 1, 0, 1, 0, 1) //Le sort proprement dit --> la on trie sur la ligne 3 colonne 2 ordre croissant, puis sur la ligne 3tjrs colonne 5 croissant tjrs, et enfin ligne 3 colonne 1 et voilà :)
 
Les options derrières sont po très importantes... :p


---------------
Q.G Tutoriaux ici
n°101741
m@nou
vu z'avais pas vu
Posté le 18-02-2002 à 11:37:10  profilanswer
 

ah ben j'en était pas très loin :D
 
euh sinon tu peux pas utiliser les constantes xl... en OLE.
Enfin çà tu l'avais remarqué, je pense ;)


---------------
Mes photos,Feed-Back HA/V
n°101893
m@nou
vu z'avais pas vu
Posté le 18-02-2002 à 16:09:21  profilanswer
 

tiens au fait là tu trouveras peut-être plus de monde sur Domino/Notes
 
http://pro.wanadoo.fr/domino-dev/


---------------
Mes photos,Feed-Back HA/V
n°102379
dirakocha
Posté le 19-02-2002 à 16:06:55  profilanswer
 

Merci pour ton lien c super il me manquait un forum de dév pour lotusScript et maintenant j'en ai un merci encore M@nou :)
 
Sinon je suis reparti de plus belle avec un autre script mais plus light ke l'otre... le seul truc chiant à faire c une collection ki fonctionne :lol: vi je sais c po difficile mais figure toi ke je connais plus le LotusScript ke les formules de Notes :p
Résultat a chaque fois ke je fais ma collection et ben il y a rien dedans puisque ma vue merde mais je vais trouver ou ca coince :D  :pt1cable:  
 
Bon j'y retourne @+


---------------
Q.G Tutoriaux ici

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Lotus Notes et Excel...

 

Sujets relatifs
VBA-Excel : Comment détecter une cellule vide ou non?fichier excel ======>>
VBA Excel - Helpautomatisation de macros excel
[Delphi/OLE/Excel] Forcer le delete d'une page...meme avec des donnees(novice) Cadre fixe dans une page excel
[EXCEL] ---ARTT ----------URGENT[VBA] Excel : besoin de divers codes...
VBA EXCEL : Comment on obtient la couleur d'une cellule ?[VBA & Excel] Enlever l'utilisation du clavier ?
Plus de sujets relatifs à : Lotus Notes et Excel...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR