Appel fonction

Fermé
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006 - 3 janv. 2006 à 16:51
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 juin 2008 à 17:39
bonjours,


j'ai une petite question :


j'utilise un module avec des procédure et des fonctions,lors de l'appel des fonction dans une variable de mon formulaire j'ai des incompatibilité de type alors que j'ai déclaré la fction et la variable de m type...
comprend pas!! si qql à des idée sur la cause ca pourrait pt etre m'aider
merkii!
ps:je code en VBA

11 réponses

nanou1605 Messages postés 36 Date d'inscription mercredi 10 mars 2004 Statut Membre Dernière intervention 15 décembre 2006
3 janv. 2006 à 17:03
Salut,

l'incompatibilité de type se passe surement dans le traitement de ta fonction,
il faudrait que tu nous montre ta fonction et les variables que tu lui passe.

Seb
0
mell01 Messages postés 72 Date d'inscription lundi 6 juin 2005 Statut Membre Dernière intervention 15 mai 2006
3 janv. 2006 à 17:22
Voici mon code si tu peux jeter un coup d'oeil....


dans le module:
Function nb_jour(idt As Integer, ide As Integer, debstat As Date, finstat As Date) As Integer
sql = "select date_debut,date_fin,heure_fin,heure_debut from abscence where ID_TypeA=1 and ID_Employe=" & id & " and (date_debut BETWEEN " & debstat & " AND " & finstat & " or date_fin BETWEEN " & debstat & " AND " & finstat & ")"
Set rs = bd.OpenRecordset(sql, dbOpenDynaset)
If rs.EOF <> True Then
rs.MoveLast
rs.MoveFirst
If rs(2) >= "12:00:00" Then
res = 1
Else
res = 0
End If
For i = 1 To rs.RecordCount
If rs(1) <> "" Then
res = res + DateDiff("d", rs(0), rs(1))
End If
rs.MoveNext
Next
nb_jour = res
res = 0
rs.Close
End If
End If
End Function

dans le form:
Texte41.Value = fct.countabscence("& idt &", "& id &", "& debstat &", "& finstat &")
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
3 janv. 2006 à 17:37
Y a un pb la !! Tu nous donne le code d'une fonction appelé nb_jour() et tu appelles dans ta form une méthode appelée countabscence() !!
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
3 janv. 2006 à 17:56
salut,

et dans cette fonction (non-appelée comme le dit CRenaud), id sort de où? çà ne devrait pas être idt?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
4 janv. 2006 à 09:42
Salut, A tous (et bonne annee bien sur)


Si CountAbsence existe, et qu elle attend les memes types de parametres que nb_jour, Tu te trompes dans le passage des parametres. Tu lui passes des String ("& idt &"....) si je ne me trompe pas bien entendu.

A plus
0
titi31183 Messages postés 15 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 juin 2008
23 juin 2008 à 13:03
titi
voila moi j'ai creé une fonction Sub Lancer_impression(ByVal ListView As ListView) dans une form et dans la meme j'ai créé un bouton imprimer qui appelle cette fonction le probleme et qu'il me declare une erreur de copilation lors de cet appel voi la mon code

Sub Lancer_impression(ByVal ListView As ListView)


        Dim S1 As String
        Dim FNxls As String
        Dim iCol As Integer
        Dim oXL As Object
        Dim oBook As Object
        Dim oSheet As Object
        Dim i As Long
        'Dim monProcess As New Process


        S1 = Application.StartupPath   ' Retourne le chemin d'accèsde l'application
        If Mid(S1, Len(S1) - 1) <> "" Then S1 = S1 & ""
        FNxls = S1 & "Excel.xls"


        ' Creer l'application XL
        oXL = CreateObject("Excel.Application")
        oBook = oXL.Workbooks.Add ' Ajout d'un classeur
        oSheet = oBook.Worksheets(1)    ' Ajout d'une feuille


        With oSheet
           
             For i = 0 To ListView.Columns.Count - 1  ' Permet d'ajouter les nomsdes colonnes de la listview passer en paramètre dans le fichier XL
                .Cells(1, i + 1) = ListView.Columns(i).Text
            Next


            'Boucle ajoutant tout les items contenus dans la ListView dans lefichier excel
            For iCol = 0 To ListView.Items.Count - 1
                lvItem = ListView.Items(iCol)
               .Cells(iCol + 3, 1) = lvItem.SubItems(0).Text
               .Cells(iCol + 3, 2) = lvItem.SubItems(1).Text
               .Cells(iCol + 3, 3) = lvItem.SubItems(2).Text
               .Cells(iCol + 3, 4) = lvItem.SubItems(3).Text
               .Cells(iCol + 3, 4).HorizontalAlignment = 3 ' Permet de centrer dans lacellule ( 2 : à gauche      3 : centrer     4 : à droite )
               ' Ligne précédente peut être supprimé si pas de formatage voulu pourles cellules
               .Cells(iCol + 3, 5) = lvItem.SubItems(4).Text
               .Cells(iCol + 3, 5).HorizontalAlignment = 3
               .Cells(iCol + 3, 6) = lvItem.SubItems(5).Text
               .Cells(iCol + 3, 6).HorizontalAlignment = 3
               .Cells(iCol + 3, 7) = lvItem.SubItems(6).Text
               .Cells(iCol + 3, 7).HorizontalAlignment = 3
            Next
        End With


        ' 1° Ligne : Titres en Gras
        oSheet.Rows(1).Font.Bold = True


        ' Largeur des colonnes
        oSheet.Columns("A:A").ColumnWidth = 33.71   ' Colonne 1
        oSheet.Columns("B:B").ColumnWidth = 33.71   ' Colonne 2


        ' Paramétrer les marges de la feuille
        oSheet.PageSetup.LeftMargin = 0.393700787401575    ' Marge de gauche
        oSheet.PageSetup.RightMargin = 0.393700787401575    ' Marge de droite
        oSheet.PageSetup.TopMargin = 0.393700787401575     ' Marge du haut
        oSheet.PageSetup.BottomMargin = 0.393700787401575   ' Marge du bas


        ' Afficher le quadrillage sur la feuille
        oSheet.PageSetup.PrintGridlines = True


        ' Afficher le tableau de manière centrer horizontalement sur la feuille
        oSheet.PageSetup.CenterHorizontally = True


        ' Paramétrer la feuille en mode Paysage        oSheet.PageSetup.Orientation 2  ' ( 1 : Portrait )


        oXL. ActiveSheet.PrintOut() ' Lancer l'impression
        oXL .Quit() ' Ferme le processus


    End Sub


Private Sub command2_Click()
    Lancer_impression (LstLivres)
End Sub

avec command2 est mon bouton d'mpression et LstLivres est le nom de ma listview (je voudrai lancer l'mpression vers l'excel)
je suis encore une debutante dans le vb6 merci d'avance 
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 juin 2008 à 13:53
comment on fait pour tomber par hasard sur un topic sans rapport, qui a 2 ans et demi, et y poser sa question?...
çà me dépasse
0
titi31183 Messages postés 15 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 juin 2008
23 juin 2008 à 16:18
titi
dsl je me suis trempé j'avais ouvert plusieurs fenetres et j'ai frapé à la mauvaise porte et franchement tout le monde peut se tremper pas la peine de repondre de cette façon
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 juin 2008 à 16:41
tu as fais la même chose le 17 juin, ce qui signifie que tu n'as, en 2 mois, toujours pas lu le règlement que tu as pourtant validé lors de ton inscription

mais je suis sûr que tu sauras faire le nécessaire n'est-ce pas
bonne journée
0
titi31183 Messages postés 15 Date d'inscription lundi 24 décembre 2007 Statut Membre Dernière intervention 23 juin 2008
23 juin 2008 à 16:51
titi
dsl de te contredir mais c'est un probleme que j'au rencontrai ce matin donc je ne vois pas comment j'ai fais ça le 17 juin et entre 17 juin et le 23 juin je doute que 2 mois se sont ecoulé
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 juin 2008 à 17:39
je sens qu'on va aller loin avec toi, c'est bien !

2 mois :

Date d'arrivée sur CodeS-SourceS
le 30 avril 2008 à 23:54:51


17 juin :
http://www.vbfrance.com/infomsg_ERREUR-CHARGEMENT_820855.aspx

topic clos
0
Rejoignez-nous