[VBA] probleme fonction
Résolu/Fermé
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
-
13 mars 2007 à 10:22
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 - 13 mars 2007 à 17:00
fl0 Messages postés 357 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 10 novembre 2021 - 13 mars 2007 à 17:00
A voir également:
- [VBA] probleme fonction
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
10 réponses
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
13 mars 2007 à 10:28
13 mars 2007 à 10:28
Salut,
qu'est-ce qui ne marche pas ?
qu'est-ce qui ne marche pas ?
bonjour
une fonction qui ne renoie rien est une procédure
il faut mettre sub au lieu de function
ex :
sub maFonction(a as integer, b as integer)
...
end sub
une fonction qui ne renoie rien est une procédure
il faut mettre sub au lieu de function
ex :
sub maFonction(a as integer, b as integer)
...
end sub
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 10:30
13 mars 2007 à 10:30
en fait g l'impression qui commence par executer le module et seulement apres les form est ce que c'est ca ?
J'ai declarer les variables que j'utilise dans ma fonction en public dans mon module vous croyez que c'est bon?
J'ai declarer les variables que j'utilise dans ma fonction en public dans mon module vous croyez que c'est bon?
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 10:31
13 mars 2007 à 10:31
dans tes parenthese c'est quoi c'est des valeurs que tu retourne ?
moi je veu rien retourner
moi je veu rien retourner
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
>
rasta67
13 mars 2007 à 10:35
13 mars 2007 à 10:35
En fait il faut que je mette les variables que j'utilise dans ma fonction dans les paranthese
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 10:42
13 mars 2007 à 10:42
oui dans l'appel :
exemple pour une fonction qui ne renvoie rien et et prend en argument deux entiers
dans le module :
sub MaFonction(a as integer, b as integer)
... traitement...
end sub
dans le formulaire, appel
dim entier1 as integer
dim entier2 as integer
MaFonction(entier1,entier2)
exemple pour une fonction qui ne renvoie rien et et prend en argument deux entiers
dans le module :
sub MaFonction(a as integer, b as integer)
... traitement...
end sub
dans le formulaire, appel
dim entier1 as integer
dim entier2 as integer
MaFonction(entier1,entier2)
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 10:46
13 mars 2007 à 10:46
Je peu mettre les meme nom
par exemple
sub MaFonction(entier1 as integer, entier2 as integer)
... traitement...
end sub
dans le formulaire, appel
dim entier1 as integer
dim entier2 as integer
MaFonction(entier1,entier2)
par exemple
sub MaFonction(entier1 as integer, entier2 as integer)
... traitement...
end sub
dans le formulaire, appel
dim entier1 as integer
dim entier2 as integer
MaFonction(entier1,entier2)
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 10:49
13 mars 2007 à 10:49
oui car ils sont des dans éléments différents (un module et un formulaire distincts : portée locale)...
mais faire attention quand même
mais faire attention quand même
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 14:07
13 mars 2007 à 14:07
Il est umpeu modifier
Ma fonction dans mon module
Sub Requete(nom_table As String, nom_champ As String, nom_requete As String, nom_texte As String, lstnom As String)
Dim sql As String
Dim Qry As DAO.QueryDef
Dim Rs As DAO.Recordset
sql = "SELECT " & nom_table & "." & nom_champ & " FROM " & nom_table
sql = sql & " WHERE (((" & nom_table & ".utilisateur) = """ & lstnom & """)) "
DoCmd.DeleteObject acQuery, nom_requete 'supprime la requête
CurrentDb.CreateQueryDef nom_requete, sql 'crée une nouvelle requete
Set Qry = CurrentDb.QueryDefs(nom_requete)
Set Rs = Qry.OpenRecordset
While Not Rs.EOF
visualisation_utilisateurs!nom_texte = Rs(0)
Rs.MoveNext
Wend
Set Qry = Nothing
Set Rs = Nothing
End Sub
et dans mon form
'Remplissage Nom_PC
Dim nom_table As String
Dim nom_champ As String
Dim nom_requete As String
Dim nom_texte As String
Dim lstnom As String
nom_table = "PC"
nom_champ = "nom_PC"
nom_requete = "nom_PC"
nom_texte = "txtnom_PC"
lstnom = Me.lstnom
Requete nom_table, nom_champ, nom_requete, nom_texte, lstnom
Ma fonction dans mon module
Sub Requete(nom_table As String, nom_champ As String, nom_requete As String, nom_texte As String, lstnom As String)
Dim sql As String
Dim Qry As DAO.QueryDef
Dim Rs As DAO.Recordset
sql = "SELECT " & nom_table & "." & nom_champ & " FROM " & nom_table
sql = sql & " WHERE (((" & nom_table & ".utilisateur) = """ & lstnom & """)) "
DoCmd.DeleteObject acQuery, nom_requete 'supprime la requête
CurrentDb.CreateQueryDef nom_requete, sql 'crée une nouvelle requete
Set Qry = CurrentDb.QueryDefs(nom_requete)
Set Rs = Qry.OpenRecordset
While Not Rs.EOF
visualisation_utilisateurs!nom_texte = Rs(0)
Rs.MoveNext
Wend
Set Qry = Nothing
Set Rs = Nothing
End Sub
et dans mon form
'Remplissage Nom_PC
Dim nom_table As String
Dim nom_champ As String
Dim nom_requete As String
Dim nom_texte As String
Dim lstnom As String
nom_table = "PC"
nom_champ = "nom_PC"
nom_requete = "nom_PC"
nom_texte = "txtnom_PC"
lstnom = Me.lstnom
Requete nom_table, nom_champ, nom_requete, nom_texte, lstnom
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 14:11
13 mars 2007 à 14:11
L'erreur qu'il m'affiche se trouve dans le module au niveau
visualisation_utilisateurs!nom_texte = Rs(0)
j'ai regarder au niveau au dessus (la ou je crée ma requete et elle est bien créé puisque je peut l'ouvrir apres elle a bien pris les nouveau parametres en compte
le probleme est vraiment au niveau Rs
visualisation_utilisateurs!nom_texte = Rs(0)
j'ai regarder au niveau au dessus (la ou je crée ma requete et elle est bien créé puisque je peut l'ouvrir apres elle a bien pris les nouveau parametres en compte
le probleme est vraiment au niveau Rs
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 14:29
13 mars 2007 à 14:29
ca me fait toujours la meme erreur
toi ca marche ?
toi ca marche ?
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 14:34
13 mars 2007 à 14:34
oui chez moi ca marche
il dit quoi comme erreur exactement et à quel ligne ????
il dit quoi comme erreur exactement et à quel ligne ????
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 14:38
13 mars 2007 à 14:38
je crois avoir compris
le pb ne vient pas du recordset
comme tu es dans un module, tu peux pas ecrire directement :
visualisation_utilisateurs!nom_texte = ...
essaie de le remplacer par un string
dim essai as string au debut du module
puis essai = rc(0)
le pb ne vient pas du recordset
comme tu es dans un module, tu peux pas ecrire directement :
visualisation_utilisateurs!nom_texte = ...
essaie de le remplacer par un string
dim essai as string au debut du module
puis essai = rc(0)
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 14:44
13 mars 2007 à 14:44
Je vais essayer mais il faut que je rentre
visualisation_utilisateurs!nom_texte = essai
dans mon form ?
visualisation_utilisateurs!nom_texte = essai
dans mon form ?
non dans le module remplacer
visualisation_utilisateurs!nom_texte = Rs(0)
par
essai = Rs(0) où essai string declaré au debut de la proc du module(dim essai as string)
visualisation_utilisateurs!nom_texte = Rs(0)
par
essai = Rs(0) où essai string declaré au debut de la proc du module(dim essai as string)
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
13 mars 2007 à 14:52
13 mars 2007 à 14:52
visualisation_utilisateurs!nom_texte.value = Rs(0)
ou
visualisation_utilisateurs!nom_texte.text = Rs(0)
Ca dépend du type de contrôle qu'est 'nom_texte'...
ou
visualisation_utilisateurs!nom_texte.text = Rs(0)
Ca dépend du type de contrôle qu'est 'nom_texte'...
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 14:54
13 mars 2007 à 14:54
C'est bon j'ai presque trouvé il faut mettre
Form_choix_du_mode!visualisation_utilisateurs!txtnom_PC= Rs(0)
c'est toujours pareil il faut lui donner le chemin complet
mais dans le cas si dessus ca ne resoud rien je voudrais le faire avec nom_texte et pas directement le nom du texte de mon formulaire
Form_choix_du_mode!visualisation_utilisateurs!txtnom_PC= Rs(0)
c'est toujours pareil il faut lui donner le chemin complet
mais dans le cas si dessus ca ne resoud rien je voudrais le faire avec nom_texte et pas directement le nom du texte de mon formulaire
blux
Messages postés
26748
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
29 mars 2025
3 332
13 mars 2007 à 15:17
13 mars 2007 à 15:17
Forms("Form_choix_du_mode")("visualisation_utilisateurs")(nom_texte) = Rs(0) ?
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
13 mars 2007 à 15:24
13 mars 2007 à 15:24
nom VB croit que l'on cherche apres un formulaire et pas une form de VB
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 15:35
13 mars 2007 à 15:35
si c'est une form VB:
nom_form.nom_controle.Text = rs(0)
nom_form.nom_controle.Text = rs(0)
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
>
rasta67
13 mars 2007 à 15:37
13 mars 2007 à 15:37
nom_controle c'est le nom de mon formulaire ?
je vien d'essayer c'est pas terrible
je vien d'essayer c'est pas terrible
rasta67
>
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
13 mars 2007 à 15:39
13 mars 2007 à 15:39
nom celui du controle....
utilise ctrl + Esp pour voir l'arboresecence des objets
utilise ctrl + Esp pour voir l'arboresecence des objets
fl0
Messages postés
357
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
10 novembre 2021
209
>
rasta67
13 mars 2007 à 15:48
13 mars 2007 à 15:48
Ca ne marche pas ctrl + esp pour voir l'arborescence
mais de toute facon je connait le chemin
J'ai compris le probleme mais je n'arrive vraiment pas a le resoudre j'espere que tu pourra m'aider
en fait le code
Form_choix_du_mode!visualisation_utilisateurs!nom_texte = Rs(0)
s'attend directement a avoir le nom du fichier texte qui ce trouve dans le chemin specifié dans ce code
donc pour lui "nom_texte" c'est une case texte appelé nom_texte qui ce trouve dans le formulaire visualisation_utilisateur
donc il me met le msg d'erreur
"Impossible de trouve le champ "nom_texte" auquel il est fait reference dans votre expression"
et quand je rentre le code
Form_choix_du_mode!visualisation_utilisateurs!txtnom_PC = Rs(0)
la ca marche
txtnom_PC est une case texte qui existe dans mon formulaire
dit moi si je me fait bien comprendre
mais de toute facon je connait le chemin
J'ai compris le probleme mais je n'arrive vraiment pas a le resoudre j'espere que tu pourra m'aider
en fait le code
Form_choix_du_mode!visualisation_utilisateurs!nom_texte = Rs(0)
s'attend directement a avoir le nom du fichier texte qui ce trouve dans le chemin specifié dans ce code
donc pour lui "nom_texte" c'est une case texte appelé nom_texte qui ce trouve dans le formulaire visualisation_utilisateur
donc il me met le msg d'erreur
"Impossible de trouve le champ "nom_texte" auquel il est fait reference dans votre expression"
et quand je rentre le code
Form_choix_du_mode!visualisation_utilisateurs!txtnom_PC = Rs(0)
la ca marche
txtnom_PC est une case texte qui existe dans mon formulaire
dit moi si je me fait bien comprendre