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 :

Activation de variables sous condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Par défaut Activation de variables sous condition
    Bonjour!

    J'ai une simple question, et votre réponse me permettra soit de dire youpi, soit de me tirer les cheveux, encore.

    Est-il possible sous VBA "d'activer" une variable avec une condition?

    En gros si en B6 ce trouve le nom correspondant a la variable nom1 par exemple, alors c'est la variable compteur1 qui s'incrémente par la suite, et ainsi de suite, si après c'est nom5, ce seras le compteur5 qui s'incrémente.

    Je ne sais pas si je suis très clair..

    Bref, merci d'avances de vos réponses!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Quand tu dis variable tu parle de variable vba ou celle excel?

    En d'autre terme tu veux incrémenter un cellule? Cellule("nom1") = Celulle("nom1") + 1?

    Ou Variable("nom1") = Variable("nom1") + 1?

  3. #3
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Par défaut
    Je parle d'une variable en vba, qui ne s'activerai que par correspondance avec une autre variable.

    Un truc du genre :
    Si il détecte 1 en b6 alors, nom1 = c6 et compteur6 = compteur6 +1
    Sinon compteur6 = compteur6

    Mais, si en c6 si il détecte nom15, c'est le compteur15 qui s'active.

    Je pourrais faire tout les test a chaque fois, mais il a 23 nom, donc 23 compteur, j'aurais aimer savoir si il y avait une solution plus "simple" ou tout du moins, moins longue a l'écriture.
    Et je ne peux pas compter le nombre de fois que le nom15 apparaît par exemple car parfois il apparaît trois fois mais pour un seul événement.

    Je peux fournir les colonnes du tableur qui m'intéresse pour que ce soit plus compréhensible, si jamais.

    Merci!

  4. #4
    Invité
    Invité(e)
    Par défaut
    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
    Public Dico As Object
    Public Property Let Variables(Nom As String, value As Variant)
    If TypeName(Dico) = "Nothing" Then Set Dico = CreateObject("Scripting.Dictionary")
    Dico(Nom) = value
    End Property
    Public Property Get Variables(Nom As String) As Variant
    If TypeName(Dico) = "Nothing" Then Set Dico = CreateObject("Scripting.Dictionary")
    Variables = Dico(Nom)
    End Property
    Sub test()
    Set Dico = Nothing
    For i = 1 To 10
        Variables("compteur6") = Variables("compteur6") + 1
        Variables("compteur15") = Variables("compteur6") - 1
        Debug.Print Variables("compteur6"), Variables("compteur15") 
    Next
    End Sub
    Dernière modification par Invité ; 08/06/2017 à 10h57.

  5. #5
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Février 2017
    Messages : 14
    Par défaut
    J'avoue ne pas comprendre grand chose a ton code...

    Pourrais tu l'expliquer un peu?

  6. #6
    Invité
    Invité(e)
    Par défaut
    property c'est comme un variable, et vue que Property Variables gère le Dictionary {Dico(Nom) = value} les variables sont créé dynamiquement car il n'est absolument pas possible d'appeler une variable par son nom!

    Variables("compteur6") = Variables("compteur6") + 1 ajoute un item "compteur6" au dico puis l’incrémente de 1!



    maintenant si le nom des variables sont assujetti aux valeur Excel et/ou des compteurs il te faut identifier dans un feuille de configuration le règles de nommages!

Discussions similaires

  1. [AC-2010] Rendre un bouton invisible sous condition variable
    Par pimpoye47 dans le forum IHM
    Réponses: 7
    Dernier message: 23/12/2016, 17h05
  2. Réponses: 2
    Dernier message: 26/10/2016, 11h32
  3. Renommer variables sous conditions
    Par discus23 dans le forum Macro
    Réponses: 1
    Dernier message: 17/06/2013, 14h28
  4. Incrémentation d'une variable sous condition
    Par Can10ce dans le forum SAS Base
    Réponses: 7
    Dernier message: 04/05/2009, 13h44
  5. Réponses: 22
    Dernier message: 21/04/2008, 16h14

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