je me permet d'ouvrir un sujet sur un problème précis mais qui fait parti d'un projet global et qui correspond a créer un formulaire de saisie de caisse journalière pour restaurant bar ect (chr) avec reporting mensuel, annuel, graphique ect.
en utilisant plusieurs fichier mis a disposition gentiment par des utilisateurs du forum soucieux de partager leurs expériences, j'ai eu le declic sur un fichier en particulier et bien connu du forum qui est le micro facturier! Tout y est comme par magie.
Depuis le temp que je travaille dessus et en lisant sur le forum, j'ai réussit a pratiquement tout adapter (sauf les stats encore), tout le code a été adapté pour l'utilisation d'une caisse journalière, mensuel, annuel. mais il me reste un problème de base sur l'enregistrement et j'ai besoin de votre aide.
dans le micro facturier l'ors de l'enregistrement d'un devis ou d'une facture le code créer un numéro (comme une ref) celui ci est copier dans la feuille des devis ou factures et sert a l'enregistrement la visualisation le pointage les stats bref pratiquement tout ce réfère a ce numéro en question voir ci dessous.
Code : Tout sélectionner
Numero = "D" & CStr(year(now)) & CStr(format(month(now),"00"))& "-" & CompterLignes("Devis")
dans mon projet lors de l'enregistrement l'utilisateur doit sélectionner une date préalablement (pour raccorder les donnée journalier saisie a la date. cette date (validité de donnée en cellule d11) fait référence a une plage de donnée de date que j'ai crée au préalable en colonne A feuille devis (actuellement devis futur feuille récap chiffre..)
je n'arrête pas de tester et depuis 1 semaine je bloque sur ca! Des que je modifies l'enregistrement plus rien ne fonctionne voici les deux code (code original et code adapter), si quelqu'un peut m'aider SVP???
code originale
Code : Tout sélectionner
Sub EnregistrerDevis
dim Saisie as object, Devis as object
dim Numero as String
dim i as integer
Saisie = thisComponent.Sheets.getByName("Saisie")
Devis = thisComponent.Sheets.getByName("Devis")
Deproteger("Devis")
Select Case Mid(Saisie.getcellrangebyname("D11").string,4,1)
Case "F"
MsgBox "Facture déjà enregistrée !", ,"MicroFacturier"
exit sub
Case "D"
MsgBox "Devis déjà enregistré !", ,"MicroFacturier"
exit sub
case Else
if MsgBox ("Vous allez enregistrer ce devis, voulez-vous continuer ?",1,"MicroFacturier") = 2 then exit sub
End Select
Numero = "D" & CStr(year(now)) & CStr(format(month(now),"00"))& "-" & CompterLignes("Devis")
InsererLigne("Devis")
'Devis.getCellrangebyName("A2:K2").cellbackcolor = -1
Devis.getCellrangeByName("A2:K2").charcolor = -1
Devis.getcellrangebyname("A2").string = Numero
Devis.getcellrangebyname("B2").string = Saisie.getcellrangebyname("H2").string
Devis.getcellrangebyname("C2").value = Saisie.getcellrangebyname("L40").value
Devis.getcellrangebyname("D2").value = Saisie.getcellrangebyname("L43").value
Devis.getcellrangebyname("E2").value = dateValue(Now)
Devis.getcellrangebyname("F2").string = Saisie.getcellrangebyname("D52").string
Devis.getcellrangebyname("G2").string = Saisie.getcellrangebyname("D53").string
Devis.getcellrangebyname("H2").string = Saisie.getcellrangebyname("D54").string
Devis.getcellrangebyname("I2").string = Saisie.getcellrangebyname("D55").string
Devis.getcellrangebyname("K2").string = Saisie.getcellrangebyname("B13").string
Proteger("Devis")
'EnregistrerPrestations(Numero)
Saisie.getcellrangebyname("N12").string = Numero
VoirDevis
end Sub
Code : Tout sélectionner
Sub EnregistrerDevis
dim Saisie as object, Devis as object, Recherche as object, Trouve as object, FiltreVide as object
dim Numero as string
dim i as integer
'on error goto erreur
Saisie = thisComponent.Sheets.getByName("Saisie")
Devis = thisComponent.Sheets.getByName("Devis")
Deproteger("Devis")
Numero = Saisie.getcellrangebyname("D11").string
Recherche = Devis.createSearchDescriptor()
With Recherche
.SearchString = Saisie.getcellrangebyname("D11").value
.SearchWords = True
'End With
if Recherche.SearchString = "NOUVELLE CAISSE" then
MsgBox "vous n'avez pas sélectionner de jour de caisse a enregistrer ", ,"MicroFacturier"
exit sub
Else
Trouve = Devis.findFirst(Recherche)
i = Trouve.cellAddress.row
InsererLigne("Devis")
'Devis.getCellrangebyName("A2:K2").cellbackcolor = -1
Devis.getCellrangeByName("B:"& i)("U"& i).charcolor = -1
Devis.getcellrangebyname("A" & i + 1).string = Numero
Devis.getcellrangebyname("B" & i + 1).string = Saisie.getcellrangebyname("L11").string
Devis.getcellrangebyname("D" & i + 1).value = Saisie.getcellrangebyname("E15").value
Devis.getcellrangebyname("E" & i + 1).value = Saisie.getcellrangebyname("E16").value
Devis.getcellrangebyname("F" & i + 1).value = Saisie.getcellrangebyname("N23").value
Devis.getcellrangebyname("N" & i + 1).value = Saisie.getcellrangebyname("N15").value
Devis.getcellrangebyname("O" & i + 1).value = Saisie.getcellrangebyname("N16").value
Devis.getcellrangebyname("P" & i + 1).value = Saisie.getcellrangebyname("N17").value
Devis.getcellrangebyname("Q" & i + 1).value = Saisie.getcellrangebyname("N18").value
Devis.getcellrangebyname("R" & i + 1).value = Saisie.getcellrangebyname("N19").value
Devis.getcellrangebyname("S" & i + 1).value = Saisie.getcellrangebyname("N20").value
Devis.getcellrangebyname("T" & i + 1).value = Saisie.getcellrangebyname("N21").value
Devis.getcellrangebyname("U" & i + 1).value = Saisie.getcellrangebyname("N22").value
Devis.getcellrangebyname("G" & i + 1).value = Saisie.getcellrangebyname("D15").value
Devis.getcellrangebyname("H" & i + 1).value = Saisie.getcellrangebyname("D16").value
Devis.getcellrangebyname("I" & i + 1).value = Saisie.getcellrangebyname("D17").value
Devis.getcellrangebyname("J" & i + 1).value = Saisie.getcellrangebyname("C15").value
Devis.getcellrangebyname("K" & i + 1).value = Saisie.getcellrangebyname("C16").value
Devis.getcellrangebyname("L" & i + 1).value = Saisie.getcellrangebyname("C17").value
Devis.getcellrangebyname("K" & i + 1).value = Saisie.getcellrangebyname("N14").value
Devis.getcellrangebyname("K" & i + 1).value
Proteger("Devis")
'EnregistrerPrestations(Numero)
Saisie.getcellrangebyname("O12").string = numero
VoirDevis
'end if
end Sub