Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

enregistrement idem que le précédent

7 réponses
Avatar
Céline051
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline

7 réponses

Avatar
dumgest
On 23 jan, 14:35, Céline051
wrote:
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroul ante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîss e par
défaut la donnée du contrôle précédent. J'ai vu dans le forum d es
explications sur variable globale mais je ne sais pas comment ça marche .
Pouvez-vous m'aider ? merci par avance.
Céline



à la main c'est: ctrl+'

et pour du code, je laisse la place au specialiste
Avatar
Gilbert
Bonjour,

Pour déclarer une variable globale tu crée un module standard dans lequel tu
mets une déclaration comme

Public TaVariable As LeTypeQuiVaBien

Ensuite tu utilises cette variable pour stocker la valeur de ton contrôle
Par exemple dans l'évènement AfterUpdate de ce contrôle tu mets
TaVariable =Me.LeControle

Et dans l'évènement Form_Current du formulaire tu ajoutes
Me.LeControle=TaVariable

--
Cordialement,

Gilbert


"Céline051" a écrit dans le message de
news:
Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline


Avatar
dumgest
On 23 jan, 18:31, wrote:
On 23 jan, 14:35, Céline051
wrote:

> Bonjour,
> J'ai un formulaire avec un contrôle qui se fait avec une liste déro ulante
> provenant d'une table. Je souhaiterais que dans ce contrôle apparaî sse par
> défaut la donnée du contrôle précédent. J'ai vu dans le forum des
> explications sur variable globale mais je ne sais pas comment ça marc he.
> Pouvez-vous m'aider ? merci par avance.
> Céline

à la main c'est: ctrl+'

et pour du code, je laisse la place au specialiste



Private Sub cmdInsert_Click()

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdPasteAppend

End Sub
Avatar
Céline051
Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
procédure évennementielle, mais ça ne marche pas.
C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
une bonne journée.
Céline
Avatar
Michel__D
Bonjour,

"Céline051" a écrit dans le message de
news:
Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
procédure évennementielle, mais ça ne marche pas.
C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
une bonne journée.
Céline



Il vaut quand mieux comprendre ce que l'on fait, donc ton formulaire est
constitué d'entités (le formulaire en lui-même et des contrôles) et à ces
entités on peut faire réaliser des actions par rapport à des événements
(onglet "Evenement") soit sous la forme de "Macro" que l'on aura défini
ou soit de "Procédure événementielle" qui correspond à du code VBA.

Ensuite ta "Procédure événementielle" est en quelque sorte un sous-programme
par rapport au contexte global de ton formulaire et une particularité
dans l'exécution d'un sous-programme c'est que toute variable qui est
déclarée dans ce sous-programme n'est visible qu'à partir de ce
sous-programme.

Ainsi pour que tu puisse accéder à une variable dans plusieurs
"Procédure événementielle" il faut la déclarer de manière globale
autrement dit en-dehors de toute procédure.

Par exemple dans la portion de code vba plus bas, la variable
"oFso" est une variable globale et la variable "iC" est une variable
locale à la Procédure événementielle Change() du contrôle
ChampValeur.

' ------------------------------------Début du code VBA
Option Compare Database
Option Explicit

Dim oFso As Object

Private Sub ChampValeur_Change()
Dim iC As Long
...
End Sub
Avatar
Céline051
Merci pour l'information.
Bon après midi
Céline

"Michel__D" a écrit :

Bonjour,

"Céline051" a écrit dans le message de
news:
> Je vous remercie à vous deux pour votre aide. J'ai essayé les deux, comme je
> ne maîtrise pas, j'ai recopié bêtement dans un endroit qui s'appelle
> procédure évennementielle, mais ça ne marche pas.
> C'est un niveau qui est trop compliqué, finalement je vais rester avec ce
> que j'ai, c'est déjà mieux que ce que j'avais avant. Merci encore et passer
> une bonne journée.
> Céline

Il vaut quand mieux comprendre ce que l'on fait, donc ton formulaire est
constitué d'entités (le formulaire en lui-même et des contrôles) et à ces
entités on peut faire réaliser des actions par rapport à des événements
(onglet "Evenement") soit sous la forme de "Macro" que l'on aura défini
ou soit de "Procédure événementielle" qui correspond à du code VBA.

Ensuite ta "Procédure événementielle" est en quelque sorte un sous-programme
par rapport au contexte global de ton formulaire et une particularité
dans l'exécution d'un sous-programme c'est que toute variable qui est
déclarée dans ce sous-programme n'est visible qu'à partir de ce
sous-programme.

Ainsi pour que tu puisse accéder à une variable dans plusieurs
"Procédure événementielle" il faut la déclarer de manière globale
autrement dit en-dehors de toute procédure.

Par exemple dans la portion de code vba plus bas, la variable
"oFso" est une variable globale et la variable "iC" est une variable
locale à la Procédure événementielle Change() du contrôle
ChampValeur.

' ------------------------------------Début du code VBA
Option Compare Database
Option Explicit

Dim oFso As Object

Private Sub ChampValeur_Change()
Dim iC As Long
...
End Sub




Avatar
celine     dit :
coucousavatoi oui ou non jemapéle celine étoi comontapéletu


"Céline051" wrote:

Bonjour,
J'ai un formulaire avec un contrôle qui se fait avec une liste déroulante
provenant d'une table. Je souhaiterais que dans ce contrôle apparaîsse par
défaut la donnée du contrôle précédent. J'ai vu dans le forum des
explications sur variable globale mais je ne sais pas comment ça marche.
Pouvez-vous m'aider ? merci par avance.
Céline