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

Macros et VBA Excel Discussion :

variable public depuis bouton option [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Par défaut variable public depuis bouton option
    Bonjour,
    j'ai créé 4 boutons radios (que je n'ai pas groupés, peut-être le faut-il ?) dans Mafeuille
    les macros commandant chaque bouton se trouve DONC dans VBA projet\microsoft excel objet\feuil1.
    j'ai défini la variable numcolonne comme public, comme vu ci dessous ET en tête de module ( bien à l'extérieur d'une macro )


    Je souhaite en fait que lorsque je clique sur un bouton se trouvant dans feuil1(MAfeuille), la macro se trouvant elle dans un module s'éxécute avec la variable numcolonne.
    2 ème question , comment récupérer la valeur de la cellule se trouvant sur la ligne 3 mais avec un index de colonne variable(numcolonne) ? range(numcolonne & "3")

    code se trouvant dans VBA projet\microsoft excel objet\feuil1 :
    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
    Public numcolonne As Integer
     
    Sub OptionButton1_Click()
    If OptionButton1.Value = True Then  ' l'age choisi est 3-6 ans
          numcolonne = 19
    End If
     
    End Sub
    Private Sub OptionButton2_Click()
    If OptionButton2.Value = True Then  ' l'age choisi est 3-6 ans
          numcolonne = 20
    End If
     
    End Sub
    Private Sub OptionButton3_Click()
    If OptionButton3.Value = True Then  ' l'age choisi est 3-6 ans
          numcolonne = 21
    End If
     
    End Sub
    Private Sub OptionButton4_Click()
    If OptionButton4.Value = True Then  ' l'age choisi est 3-6 ans
          numcolonne = 22
    End If
     
    End Sub
    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zek474 Voir le message
    Bonjour,

    Pour vous répondre, quel est le code de votre procédure dans le module standard que les clics vont exécuter ?

  3. #3
    Membre averti
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Pour vous répondre, quel est le code de votre procédure dans le module standard que les clics vont exécuter ?
    voici, Merci .

    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
     For ligne = 8 To 11
    aliment_A_Chercher = Sheets("GRAMMAGE").Range("H" & ligne).Value
     
        'Critere
    Sheets("données").Range("J3").Value = aliment_A_Chercher
     
                Sheets("données").Select
                Range("A1:G1000").AdvancedFilter _
                         Action:=xlFilterCopy, _
                         CriteriaRange:=Range("H2:N3"), _
                         CopyToRange:=Range("P2:V2"), _
                         Unique:=False
     
               gram = Cells(3, numcolonne).Value
     
     
     
        Sheets("GRAMMAGE").Select
        Sheets("GRAMMAGE").Range("H" & ligne).Offset(0, 1).Select
        Selection.Value = gram
        'ligne = ligne + 1
     
                Next

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zek474 Voir le message
    Comment s'appelle votre procédure ?

  5. #5
    Membre averti
    Homme Profil pro
    association sportive
    Inscrit en
    Novembre 2018
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : association sportive

    Informations forums :
    Inscription : Novembre 2018
    Messages : 15
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Comment s'appelle votre procédure ?

    elle s'appelle grammage.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Public numcolonne As Integer
     
    Sub grammage(age)
    Dim gram As Single
    Dim aliment_A_Chercher As String
    Dim Critere As String
     
    Application.ScreenUpdating = False
                For ligne = 8 To 11
    aliment_A_Chercher = Sheets("GRAMMAGE").Range("H" & ligne).Value
     
        'Critere
    Sheets("données").Range("J3").Value = aliment_A_Chercher

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zek474 Voir le message
    Vous pouvez déjà supprimer la déclaration de numcolonne dans votre module d'onglet (cf ligne 1 de votre code en # 1)

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zek474 Voir le message
    Dans le module de votre onglet :

    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
     
    Option Explicit
     
     
    Private Sub OptionButton1_Click()
     
        If OptionButton1.Value = True Then Grammage 19  ' l'age choisi est 3-6 ans
     
    End Sub
    Private Sub OptionButton2_Click()
       If OptionButton2.Value = True Then Grammage 20 ' l'age choisi est 3-6 ans
     End Sub
     
    Private Sub OptionButton3_Click()
       If OptionButton3.Value = True Then Grammage 21  ' l'age choisi est 3-6 ans
    End Sub
     
    Private Sub OptionButton4_Click()
       If OptionButton4.Value = True Then Grammage 21  ' l'age choisi est 3-6 ans
    End Sub
    Dans votre module standard :
    Nb : Il n'y a plus de déclaration Publique à faire pour numcolonne, car la valeur est passée par paramètres dans votre procédure Grammage.

    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
     
    Option Explicit
     
    Sub Grammage(ByVal NumColonne As Integer)
     
    Dim Ligne As Integer
    Dim ShGrammage As Worksheet, ShDonnees As Worksheet
     
        Set ShGrammage = Sheets("GRAMMAGE"): Set ShDonnees = Sheets("données")
        For Ligne = 8 To 11
            With ShDonnees
                 .Range("J3") = ShGrammage.Range("H" & Ligne)
                 .Range("A1:G1000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range("H2:N3"), CopyToRange:=.Range("P2:V2"), Unique:=False
                 ShGrammage.Range("H" & Ligne).Offset(0, 1) = .Cells(3, NumColonne).Value
            End With
        Next
       Set ShGrammage = Nothing:  Set ShDonnees = Sheets("données")
     
    End Sub
    Pas testée, possible qu'il y ait une erreur.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/05/2010, 09h40
  2. Réponses: 2
    Dernier message: 11/05/2009, 15h25
  3. mettre 1 variable ds lien lors cliq sur bouton option
    Par zorba49 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/06/2006, 14h39
  4. [VBA] taille max d'une variable public
    Par gigs dans le forum Général VBA
    Réponses: 9
    Dernier message: 23/11/2005, 15h27
  5. déclaration de variable public
    Par mathieu57 dans le forum MFC
    Réponses: 5
    Dernier message: 15/09/2005, 17h36

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