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 :

Raffraichir un code vba via un bouton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut Raffraichir un code vba via un bouton
    bonjour
    je voudrai de l'aide je viens de faire un code en vba excel et je voudrai que lors ce que je clique sur le bouton raffrechir la page se met a 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
    Function NbColor(ByRef Plage As Range, Couleur As Byte) As Long
        Dim c As Range
        Dim nb As Long
        nb = 0
        For Each c In Plage
            If c.Interior.ColorIndex = Couleur Then
                nb = nb + 1
            End If
        Next c
        NbColor = nb
    End Function
     
    Function NbColorSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
        NbColorSameAs = NbColor(Plage, Cellule.Interior.ColorIndex)
    End Function
     
    Function NbColorText(ByRef Plage As Range, ByRef Couleur As Byte, text As String) As Long
        Dim c As Range
        Dim nb As Long
        nb = 0
        For Each c In Plage
            If c.Interior.ColorIndex = Couleur And c.Value = text Then
                nb = nb + 1
            End If
        Next c
        NbColorText = nb
    End Function
     
    Function NbColorAndTextSameAs(ByRef Plage As Range, ByRef Cellule As Range) As Long
        NbColorAndTextSameAs = NbColorText(Plage, Cellule.Interior.ColorIndex, Cellule.Value)
    End Function
    merci

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Excel ne considère pas la modification de la couleur de fond d'une cellule comme une modification qui implique un recalcul de fonction.

    Tu peux essayer de cliquer sur le bouton Ruban Formules > Calculer maintenant.
    Mais je doute que ça soit fiable.

    Autre solution, tu peux essayer de mettre en première ligne de chacune de tes fonctions (juste après la ligne Function) :
    Ca recalculera systématiquement la fonction pour chaque modification dans la feuille.
    Il te suffira alors de modifier n'importe quelle cellule pour que ces fonctions soient recalculées.

    Le problème, c'est que Volatile rend la feuille de calcul assez lourde dès qu'on commence à multiplier les fonctions qui la contiennent.

  3. #3
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    ca ne marche pas on peux pas passer par un bouton?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    C'est étonnant parce que je viens d'essayer et ça marche.

    Tu es sûr d'avoir lu jusqu'au bout, y compris ça :
    Il te suffira alors de modifier n'importe quelle cellule pour que ces fonctions soient recalculées.

  5. #5
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    menhir c est certin ca ne marche pas j ai meme verifie que les macros sont bien activees
    voila le fichier
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    j ai trouve la solution a mon probleme je suis passer par enregistrer une macro et je l ai colle sur le code bouton_clic()

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

Discussions similaires

  1. [XL-2007] Mise à jour code VBA via mail
    Par ALEX80800 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/06/2015, 15h17
  2. Réponses: 1
    Dernier message: 08/07/2013, 07h30
  3. [AC-2007] Code VBA d'un bouton
    Par danièle21 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/02/2013, 14h24
  4. [AC-2010] Code VBA pour un bouton
    Par Dreamz87 dans le forum IHM
    Réponses: 4
    Dernier message: 09/12/2012, 19h09
  5. Afficher dans une cellule le code VBA d'un bouton
    Par greenzephyr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/11/2010, 10h01

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