IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Affecter la même macro vba à plusieurs contrôles lors d'un clic sur un formulaire Access [Toutes versions]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut Affecter la même macro vba à plusieurs contrôles lors d'un clic sur un formulaire Access
    Bonjour à tous

    Cela fait un moment que je cherche une solution à mon problème sans y arriver donc j'aimerais savoir si quelqu'un ici pouvais m'aider.

    Je m'explique, je dispose d'un formulaire sur lequel j'ai une cinquantaine de contrôles de type "Rectangle", j'aimerais que lorsque je clic sur chacun de ces derniers la même macro se lance.

    Pour le moment j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub Ctl53_Click()
        [Forms]![Form-TAD]![arret].Value = 53
        [Forms]![Form-TAD]![CommuneDep] = "OETING"
        [Forms]![Form-TAD]![ArretDep] = "DESCARTES"
        DoCmd.OpenQuery "TrajetsExistant", , acReadOnly
        DoCmd.Requery
        DoCmd.Close acQuery, "TrajetsExistant"
        DoCmd.OpenForm "TrajetsDispo", , , , , acDialog
    End Sub
     
    Private Sub Ctl54_Click()
        [Forms]![Form-TAD]![arret].Value = 54
        [Forms]![Form-TAD]![CommuneDep] = "OETING"
        [Forms]![Form-TAD]![ArretDep] = "AVOGADRO"
        DoCmd.OpenQuery "TrajetsExistant", , acReadOnly
        DoCmd.Requery
        DoCmd.Close acQuery, "TrajetsExistant"
        DoCmd.OpenForm "TrajetsDispo", , , , , acDialog
    End Sub
    [arret] [CommuneDep] et [ArretDep] alimentent une requête dans mon application, [arret] représentent l'identifiant d'un arrêt se trouvant dans une table. J'ai nommé mes contrôles dans mon formulaire de la même manière que [arret] et j'aimerais donc qu'en cliquant sur chacun des rectangle mes textBox [arret] [CommuneDep] et [ArretDep] prennent les valeurs se trouvant dans ma table.

    Est ce que quelqu'un aurait une idée de comment je dois m'y prendre ?

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    J'ai nommé mes contrôles dans mon formulaire de la même manière que [arret] et j'aimerais donc qu'en cliquant sur chacun des rectangle mes textBox [arret] [CommuneDep] et [ArretDep] prennent les valeurs se trouvant dans ma table
    il serait possible de passer le controle actif en paramètre et récupérer sa valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Ctrle_Click(pCtrl as Control)
        [Forms]![Form-TAD]![arret].Value = Val(replace(pCtrl.Name,"Ctl",""))
     '...
    End Sub
    et l'appel se ferait comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Ctl53_Click()
        Ctrle_Click Me.ActiveControl
    End Sub
    par contre, je ne vois pas comment récupérer les 2 autres variables sans un lien entre le contrôle et un enregistrement de la table ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       [Forms]![Form-TAD]![CommuneDep] = "OETING"   '<=== quel lien entre le contrôle actif et la table ?
       [Forms]![Form-TAD]![ArretDep] = "DESCARTES"  '<=== quel lien entre le contrôle actif et la table ?
     
       [Forms]![Form-TAD]![CommuneDep] = "OETING"   '<=== quel lien entre le contrôle actif et la table ?
       [Forms]![Form-TAD]![ArretDep] = "AVOGADRO"   '<=== quel lien entre le contrôle actif et la table ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Bonsoir, le lien est que "OETING" représente une ville qui est donc une valeur du champ d'un enregistrement dans ma table représentant des arrêts des bus, "AVOGADRO" et "DESCARTES" quant-à eux sont des arrêts représentant chacun un arrêt dans la commune d'OETING, d'autres commune et d'autre arrêts existent bien-sûr mais j'aimerais que par exemple en ajoutant un arrêt (ici un rectangle représente donc un arrêt et sa propriété Name à pour valeur l'identifiant de l'arrêt) ma macro qui va ouvrir un formulaire proposant les trajets existants à cet arrêt s'adapte donc à ce dernier. Je ne sais pas si c'est assez clair ?

    Merci pour votre aide

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Je ne sais pas si c'est assez clair ?
    peut-être avec un exemple illustré ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    peut-être avec un exemple illustré ...

    Voici une partie de mon formulaire :Nom : Form.png
Affichages : 560
Taille : 74,2 Ko

    On peut y voir les rectangle représentant les arrêts, chaque arrêts à pour nom un nombre

    Voici ma table des arrêts :Nom : tableArret.png
Affichages : 515
Taille : 40,9 Ko

    Ici il y en a 54, j'aimerais donc qu'en cliquant sur un rectangle "un arrêt" ma procédure s'adapte à l'arrêt que je choisi c'est pour cela que j'ai les textBox "arret" "communeDep" et "arretDep" qui devront recevoir respectivement le nom du rectangle(cle dans ma table des arrêts), la commune et l'arrêt car ma requête "TrajetsExistant" prend comme critère les valeurs de ces textBox, si vous le souhaitez je peux vous montrer ma requête également ?

    Merci du temps que vous prenez pour m'aider, je coince sur cette manipulation depuis quasiment 1 semaine, je m'en arrache les cheveux si je puis dire ^_^

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    l'utilisation de contrôles de type rectangle ne permet pas de récupérer le nom du contrôle actif lors du clic, du coup, le code que je t'ai proposé ne fonctionnera pas.
    Il y a 2 solutions :
    - soit créer dynamiquement les lignes de code pour les 54 contrôles, c'est faisable par un expert
    - soit remplacer les rectangles par des boutons ou des zones de texte (solution la plus simple à mettre en place mais qui oblige à refaire les 54 contrôles), dans ce cas mon code peut être utilisé mise à part quelques petites modifications ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    - soit remplacer les rectangles par des boutons ou des zones de texte (solution la plus simple à mettre en place mais qui oblige à refaire les 54 contrôles), dans ce cas mon code peut être utilisé mise à part quelques petites modifications ...
    Bonjour, je pense que je vais utilisé votre méthode, par contre j'aurais une question avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Ctl53_Click()
        Ctrle_Click Me.ActiveControl
    End Sub
    Serait-il possible de généraliser cette procédure à tout mes contrôles ayant comme propriété "Name" un nombre, une sorte de code du style suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Ctl.Name_Click
    Pour me permettre ainsi que lors de l'ajout d'un arrêt qui sera certainement matérialisé par une zone de texte à présent de ne pas avoir à recopier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Ctl55_Click()
    par exemple

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    Serait-il possible de généraliser cette procédure à tout mes contrôles ayant comme propriété "Name" un nombre, une sorte de code du style suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Ctl.Name_Click
    Pour me permettre ainsi que lors de l'ajout d'un arrêt qui sera certainement matérialisé par une zone de texte à présent de ne pas avoir à recopier
    c'est possible, mais en gros, il te faut le beurre et l'argent du beurre, quoi !

    Dans ce cas, la solution pour créer automatiquement le code pour tes contrôles rectangles reste d'actualité. Veux-tu que je te le fournisse ? Si oui, confirme-moi le nom du formulaire (Form-TAD) et que le code est fonctionnel car, pour l'instant, il était incomplet.

    Peux-tu tester celui-ci sur les arrêts 53 et 54 (en changeant ce qu'il faut là où il faut, bien sûr):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Ctl53_Click()
        Me![arret].Value = 53
        Me![CommuneDep] = Dlookup("Commune","Donnees","cle=53")
        Me![ArretDep] = Dlookup("Arrêt","Donnees","cle=53")
        DoCmd.OpenQuery "TrajetsExistant", , acReadOnly  '====> ligne de code inutile, je pense
        DoCmd.Requery   
        DoCmd.Close acQuery, "TrajetsExistant"           '====> ligne de code inutile, je pense
        DoCmd.OpenForm "TrajetsDispo", , , , , acDialog
    End Sub
    J'ai remplacé [Forms]![Form-TAD] par Me puisque le code s'exécute dans le formulaire qui le contient.
    Vérifie bien que les instructions 5 et 7 sont inutiles en le mettant en commentaires (une apostrophe devant), dans le cas contraire, ne les met pas.

    Par contre VBA n'aime pas trop les noms de contrôles avec des caractères "exotiques" (espaces, caractères accentués ou réservés) et notamment ceux commençant par des chiffres, c'est pour cela qu'il leur donne un nom d'évènement en les préfixant avec Ctl (c'est la propriété EventProcPrefix).

    Je te conseille, pour un prochain projet, de nommer tes champs en les préfixant avec des caractères mnémotechniques suivi d'un souligné par exemple, ensuite il est facile de récupérer une partie du nom avec Mid() ou Replace().
    Cela permet de traiter dans une boucle un type de contrôles contenant un nom particulier.

    Par exemple, si tu préfixes tes contrôles représentant tes arrêts de bus avec Arr_, ce code : Val(Replace(Me.Arr_54.Name,"Arr_","")) te renverra 54.
    Il est également possible d'utiliser la propriété Remarque des contrôles (Tag en VBA), on peut y stocker ce que l'on veut.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Ctl53_Click()
        Me![arret].Value = 53
        Me![CommuneDep] = Dlookup("Commune","Donnees","cle=53")
        Me![ArretDep] = Dlookup("Arrêt","Donnees","cle=53")
        DoCmd.OpenQuery "TrajetsExistant", , acReadOnly  '====> ligne de code inutile, je pense
        DoCmd.Requery   
        DoCmd.Close acQuery, "TrajetsExistant"           '====> ligne de code inutile, je pense
        DoCmd.OpenForm "TrajetsDispo", , , , , acDialog
    End Sub
    Ce code fonctionne avec les adaptations réalisés effectivement, le nom du formulaire [Form-TAD] est correct.

    Vérifie bien que les instructions 5 et 7 sont inutiles en le mettant en commentaires (une apostrophe devant), dans le cas contraire, ne les met pas.
    Ces instructions sont effectivement inutile, j'aurais du m'en douter puisque en réalisant le "Requery" il s'effectue directement sur mon formulaire "TrajetsExistant"


    Je te conseille, pour un prochain projet, de nommer tes champs en les préfixant avec des caractères mnémotechniques suivi d'un souligné par exemple, ensuite il est facile de récupérer une partie du nom avec Mid() ou Replace().
    Cela permet de traiter dans une boucle un type de contrôles contenant un nom particulier.

    Par exemple, si tu préfixes tes contrôles représentant tes arrêts de bus avec Arr_, ce code : Val(Replace(Me.Arr_54.Name,"Arr_","")) te renverra 54.
    Il est également possible d'utiliser la propriété Remarque des contrôles (Tag en VBA), on peut y stocker ce que l'on veut.
    Je ne connais pas la notion de Tag en VBA, mais je prends note de tes conseil quant-au choix des noms de mes contrôles, dois-je les changer sur mon formulaire pour te facilité la compréhension du problème et le code à réaliser ?

    Dans ce cas, la solution pour créer automatiquement le code pour tes contrôles rectangles reste d'actualité. Veux-tu que je te le fournisse ?
    Oui ça serait super gentil de ta part.

    Je te remercie de ta patiente et de ton aide, vraiment c'est très sympa de ta part

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    mais je prends note de tes conseil quant-au choix des noms de mes contrôles, dois-je les changer sur mon formulaire pour te facilité la compréhension du problème et le code à réaliser ?
    non, laisse les noms actuels.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    non, laisse les noms actuels.
    D'accord, j'attends de vos nouvelles en attendant je laisse en suspend cette partie de mon travail pour me consacrer au reste, je touche a mon but je te remercie pour ton aide !

  12. #12
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Ces instructions sont effectivement inutile, j'aurais du m'en douter puisque en réalisant le "Requery" il s'effectue directement sur mon formulaire "TrajetsExistant"
    Dans ce cas, l'instruction Docmd.Requery est inutile également puisque qu'elle s'applique au formulaire courant (Form-TAD) et les contrôles indépendants n'ont pas besoin d'être mis à jour ...
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    Sub AutoCreateProc(pNomForm as string)
    'Création en masse de procédures événementielles
     Dim Frm As Form
     Dim ctl As Control, mdl As Module
     Dim strTexteLigne As String
     Dim lngReturn As Long
     Dim itArret As Integer
     
     ' Ouverture du formulaire en mode création et masqué
     DoCmd.OpenForm pNomForm, acDesign, , , , acHidden
     Set Frm = Forms(pNomForm)
     Set mdl = Frm.Module
     Frm.HasModule = True
     
     For Each ctl In Frm.Controls
        If ctl.ControlType = acRectangle Then
    ' Création des procédures événementielles Click pour les contrôles de type Rectangle si inexistant
            If ctl.OnClick = "" Then
                lngReturn = mdl.CreateEventProc("Click", ctl.EventProcPrefix)
    ' On récupère le nombre du contrôle
                itArret = Val(ctl.Name)
    ' ------------- Insertion des lignes  de code -----------------------------			
    ' Création du texte du code ligne 1
    			strTexteLigne = "Me![arret] = " & itArret 
    ' Insertion du code de la ligne 1
    			lngReturn = lngReturn + 1
                mdl.InsertLines lngReturn , vbTab & strTexteLigne
     
    ' Création du texte du code ligne 2
    			strTexteLigne = "Me![CommuneDep] = Dlookup(""Commune"", ""Donnees"", ""cle=" & itArret & """)"
    ' Insertion du code de la ligne 2
    			lngReturn = lngReturn + 1
                mdl.InsertLines lngReturn , vbTab & strTexteLigne
     
    ' Création du texte du code ligne 3
    			strTexteLigne = "Me![ArretDep] = Dlookup(""Arrêt"", ""Donnees"", ""cle=" & itArret & """)"
    ' Insertion du code de la ligne 3
    			lngReturn = lngReturn + 1
                mdl.InsertLines lngReturn , vbTab & strTexteLigne
     
    ' Création du texte du code ligne 4
    			strTexteLigne = "DoCmd.OpenForm ""TrajetsDispo"", , , , , acDialog"
    ' Insertion du code de la ligne 4
    			lngReturn = lngReturn + 1
                mdl.InsertLines lngReturn , vbTab & strTexteLigne
     
    ' Activation de la procédure évènementielle
                Frm.Controls(ctl.Name).OnClick = "[Event Procedure]"
            End If
        End If
     Next ctl
     
    ' Sauvegarde des modifications
    DoCmd.Save acForm, Frm.Name
    DoCmd.Close acForm, Frm.Name, acSaveYes
     
    End Sub
    à lancer depuis VBA en précisant le nom du formulaire (qui doit être fermé): AutoCreateProc("Form-TAD")
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Vous êtes super rapide, je vais essayer cela demain ça m'a l'air parfait pour ce que je vous ai demandé vous êtes un monstre !

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    à lancer depuis VBA en précisant le nom du formulaire (qui doit être fermé): AutoCreateProc("Form-TAD")
    Bonjour j'ai copier coller le code dans un nouveau module et lorsque j'essaie de le lancer en cliquant sur Play ou bien F5 on me propose seulement un autre sub que j'ai dans un autre module, je ne comprends pas pourquoi VBA ne me propose pas la possibilité d'exécuter "AutoCreateProc" auriez vous une idée ?

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    lorsque qu'un Sub ou une fonction utilise au moins un paramètre, il faut obligatoirement passer par la fenêtre d'exécution:

    Nom : _2.JPG
Affichages : 509
Taille : 60,2 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette précision, j'ai obtenu exactement ce qu'il me fallait grâce à vous, merci encore je vais mettre cette discussion en résolue et merci encore !!!

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 6
    Points
    6
    Par défaut
    J'aurais une dernière petite question, il serait possible de faire appel à ce Sub en cliquant sur un bouton du formulaire ?

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    il serait possible de faire appel à ce Sub en cliquant sur un bouton du formulaire ?
    oui, bien sûr
    bonne continuation ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 24
    Dernier message: 22/05/2019, 21h02
  2. Réponses: 7
    Dernier message: 17/09/2015, 14h29
  3. Réponses: 1
    Dernier message: 14/06/2013, 15h06
  4. Réponses: 9
    Dernier message: 24/05/2010, 02h05
  5. [VBA Excel] Une même macro pour plusieurs CheckBox
    Par Choupett' dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/06/2006, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo