Hi :)
Sorry i didn't know the address of the French team so i just forwarded
this to here.  please pass it on!  I odn't know if "informatichien" is
on this or the French mailing lists so please make sure he/she is
included in replies! :)

The question was translated into English and posted on the English
mailing list but didn't receive any good responses.
Regards from
Tom :)


2014-02-16 9:50 GMT+00:00 informatichien <informatich...@ymail.com>:
> Bonjour
> avec ces 2 macros appelées alternativement , je plante Calc au bout de 10 à
> 50 appels.
> j'ai l'impression d'une fuite mémoire, car avant le plantage il y a des
> signes anormaux : affichage d'une autre feuille, delay important...
> j'appelle la macro Nouvelle Facture avec une liste déroulante ou je choisi
> le nom,
> puis la macro Imprimer, celle-ci me crée un pdf et enregistre le document en
> cours (Odoc.Store)
>
> quelqu'un aurait une idée?
>
> bonne journée!!
>
> Sub NouvelleFacture (Evt)
> dim oDoc as object
> dim Feuille as object
> Dim oRange As Object
> Dim oCellLire as object, oCellEcrire as object
> Dim i as Integer
> Dim l as Long, ll as Long
> Dim itemNum as Integer
> Dim Nom as string, Adr1 as string, Adr2 as string, Ville as string, Chambre
> as string
> oDoc=thiscomponent
> Feuille=oDoc.Sheets.getByName("Formules")
> itemNum = Evt.Source.SelectedItemPos + 1
> oCellLire = Feuille.getCellByPosition(3,9)'timer
> l= oCellLire.GetValue
> ll = Timer()
> l=ll-l
> oCellLire = Feuille.getCellByPosition(2,9)'drp impression, est vérifié à
> l'ouverture d'une nouvelle facture
> if oCellLire.GetValue = 0 AND l>10 then
>  i= MsgBox ("La facture n'a pas été enregistrée, continuer?", 4 + 32 + 256,
> "Attention")
>  if i = 7 then
>  exit sub
>  End If
>  if i = 6 then
> oCellEcrire = Feuille.getCellByPosition(3,9)'timer
> l = Timer()
> oCellEcrire.SetValue(l)
>  End If
> else
>  oCellLire.SetValue(0)
> End If
> oCellLire = Feuille.getCellByPosition(2,10) 'num facture
> i=oCellLire.Value
> Feuille=oDoc.Sheets.getByName("Clients")
> oCellLire = Feuille.getCellByPosition(0,itemNum) 'civi
> Nom = oCellLire.string & " "
> oCellLire = Feuille.getCellByPosition(1,itemNum) 'nom
> Nom = Nom & oCellLire.string & " "
> oCellLire = Feuille.getCellByPosition(2,itemNum) 'prénom
> Nom = Nom & oCellLire.string
> oCellLire = Feuille.getCellByPosition(3,itemNum) 'Adr1
> Adr1 = oCellLire.string
> oCellLire = Feuille.getCellByPosition(4,itemNum) 'Adr2
> Adr2 = oCellLire.string
> oCellLire = Feuille.getCellByPosition(5,itemNum) 'CP
> Ville  = oCellLire.string & " "
> oCellLire = Feuille.getCellByPosition(6,itemNum) 'Ville
> Ville  = Ville & oCellLire.string
> oCellLire = Feuille.getCellByPosition(7,itemNum) 'Chambre
> Chambre  = "Chambre " & oCellLire.string
> Feuille=oDoc.Sheets.getByName("FactureIndividuelle")
> oCellEcrire =  Feuille.getCellByPosition(0,14)
> oCellEcrire.SetString("Facture N°" & i)
> oCellEcrire =  Feuille.getCellByPosition(5,6)
> oCellEcrire.SetString(Nom)
> oCellEcrire =  Feuille.getCellByPosition(5,7)
> oCellEcrire.SetString(Adr1)
> oCellEcrire =  Feuille.getCellByPosition(5,8)
> oCellEcrire.SetString(Adr2)
> oCellEcrire =  Feuille.getCellByPosition(5,9)
> oCellEcrire.SetString(Ville)
> oCellEcrire =  Feuille.getCellByPosition(5,10)
> oCellEcrire.SetString(Chambre)
> oRange = Feuille.getCellRangeByPosition(0,18,0,29)'("A19:A30")
> oRange.clearContents(31)
> oRange = Feuille.getCellRangeByPosition(0,32,0,42)'("A33:E42")
> oRange.clearContents(31)
> oRange = Feuille.getCellRangeByPosition(5,18,5,29)'("F18:F30")
> oRange.clearContents(31)
> oRange = Feuille.getCellRangeByPosition(5,32,5,42)'("F33:F43")
> oRange.clearContents(31)
> oRange = Feuille.getCellRangeByPosition(6,18,6,29)'("G19:G30")
> oRange.clearContents(31)
> oRange = Feuille.getCellRangeByPosition(6,32,6,42)'("G33:G43")
> oRange.clearContents(31)
> oCellLire = Feuille.getCellByPosition(1,20) 'acte
> oCellEcrire = Feuille.getCellByPosition(1,20)
> oCellEcrire.Setstring(oCellLire.getstring)
> End Sub
>
> Sub Imprimer
> Dim oDoc As Object
> Dim FeuilleDep As Object, FeuilleArr As Object
> Dim oCellLire as object, oCellEcrire as object
> Dim Args1(2) as new com.sun.star.beans.PropertyValue
> Dim Args2(2) as new com.sun.star.beans.PropertyValue
> Dim Chemin As String, maDate As String
> Dim i as Integer, ExoLig As Integer, numCli As Integer, numFact As Integer
> Dim Client as String
> Dim DrpModif as integer
> oDoc = ThisComponent
> FeuilleDep = oDoc.Sheets.getByName("Formules")
> oCellLire = FeuilleDep.getCellByPosition(2,8)' DrpModif
> DrpModif = oCellLire.getvalue
> if DrpModif = 0 then
> oCellLire = FeuilleDep.getCellByPosition(2,10) 'NumFacture
> numFact = oCellLire.getvalue
> oCellLire.setValue(numFact+1)
> else
> numFact = DrpModif
> End If
> oCellLire = FeuilleDep.getCellByPosition(2,8)' DrpModif
> oCellLire.SetValue(0)
> oCellLire = FeuilleDep.getCellByPosition (2,1) 'chemin
> Chemin = oCellLire.getString
> if Right(Chemin,1) <> "/" then
> Chemin = Chemin & "/"
> End If
> oCellLire = FeuilleDep.getCellByPosition (5,5)'année
> i = oCellLire.getValue
> Chemin = Chemin & i & "/"
> oCellLire = FeuilleDep.getCellByPosition (4,5)'mois
> i = oCellLire.getValue
> oCellLire = FeuilleDep.getCellByPosition (3,5)'jour
> maDate = oCellLire.getValue
> oCellLire = FeuilleDep.getCellByPosition (4,5)'mois
> maDate = maDate & "/" & oCellLire.getValue
> oCellLire = FeuilleDep.getCellByPosition (5,5)'année
> maDate = maDate & "/" & oCellLire.getValue
> Select Case (i)
> case 1
> Chemin = Chemin & "janvier/"
> case 2
> Chemin = Chemin & "février/"
> case 3
> Chemin = Chemin & "mars/"
> case 4
> Chemin = Chemin & "avril/"
> case 5
> Chemin = Chemin & "mai/"
> case 6
> Chemin = Chemin & "juin/"
> case 7
> Chemin = Chemin & "juillet/"
> case 8
> Chemin = Chemin & "août/"
> case 9
> Chemin = Chemin & "septembre/"
> case 10
> Chemin = Chemin & "octobre/"
> case 11
> Chemin = Chemin & "novembre/"
> case 12
> Chemin = Chemin & "décembre/"
> End Select
> oCellLire = FeuilleDep.getCellByPosition (3,7) 'nom
> Chemin = Chemin &  oCellLire.getString
> Client = oCellLire.getString
> oCellLire = FeuilleDep.getCellByPosition (4,7) 'prénom
> if Len(oCellLire.getString)>1  Then
> Client = Client & " " & oCellLire.getString
> Chemin = Chemin & "_" & oCellLire.getString
> End If
> Chemin = Replace (Chemin," ","_")
> Chemin = Chemin & "_" & numFact
> Chemin = Chemin & ".pdf"
> FeuilleDep = oDoc.Sheets.getByName("FactureIndividuelle")
> oCellEcrire =  FeuilleDep.getCellByPosition(6,43)'total
> oCellEcrire.Formula = "=sum(G18:G43)"
> oCellLire = FeuilleDep.getCellRangeByPosition(0,0,6,52)
> Args1(0).Name = "Selection"
> Args1(0).Value = oCellLire
> Args1(1).Name = "SelectPdfVersion"
> Args1(1).Value = 1
> Args2(0).Name = "FilterName"
> Args2(0).Value = "calc_pdf_Export"
> Args2(1).Name = "FilterData"
> Args2(1).Value = Args1()
> 'Args2(2).Name = "SelectPdfVersion"
> 'Args2(2).Value = 1
> Chemin=convertToUrl(Chemin)
> oDoc.storeToURL(Chemin,Args2())
> oDoc.store
> MsgBox(Client, 0, "Facture Imprimée")
> End Sub
>
>
>
>
>
> --
> View this message in context: 
> http://nabble.documentfoundation.org/plantage-Calc-tp4097451.html
> Sent from the Users mailing list archive at Nabble.com.
>
> --
> To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org
> Problems? 
> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
> Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
> List archive: http://listarchives.libreoffice.org/global/users/
> All messages sent to this list will be publicly archived and cannot be deleted

-- 
To unsubscribe e-mail to: l10n+unsubscr...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/l10n/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to