Appel fonction [Fermé]

Signaler
Messages postés
72
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
15 mai 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
36
Date d'inscription
mercredi 10 mars 2004
Statut
Membre
Dernière intervention
15 décembre 2006

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
Messages postés
72
Date d'inscription
lundi 6 juin 2005
Statut
Membre
Dernière intervention
15 mai 2006

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 &")
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
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() !!
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut,

et dans cette fonction (non-appelée comme le dit CRenaud), id sort de où? çà ne devrait pas être idt?
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
56
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
Messages postés
15
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 juin 2008

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 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
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
Messages postés
15
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 juin 2008

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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
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
Messages postés
15
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
23 juin 2008

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é
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
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