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 :

la macro private sub ne s'exécute pas en présence de Private Sub Worksheet_Change


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut la macro private sub ne s'exécute pas en présence de Private Sub Worksheet_Change
    Bonjour,

    SVP si quelqu'un pourra m'aider :
    je veux colorer des cases à partir d'un résultat d'une case mais je ne sais pas pourquoi la macro color_case ne veut pas s'exécuter est ce à cause de la macro Private Sub Worksheet_Change ???

    Le code est réalisé sur la même feuille excel:

    Code vba : 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
     Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$4" Then 'F4 est la liste
          For i = 2 To Worksheets("Responsable").Range("C" & Rows.Count).End(xlUp).Row
            If Range("F4").Value = Worksheets("Responsable").Cells(i, 3).Value Then
                Range("F5").Value = Worksheets("Responsable").Range("D" & i).MergeArea.Cells(1, 1).Value 'récupère la valeur de la cellule fusionnée
                Exit For
            End If
          Next
    Else
        If Target.Address = "$F$5" Then
        Else
     
        Dim txt As String
           If Target.Row > 1 Then
              For i = 2 To 4
                 txt = txt & Trim("" & Cells(Target.Row, 1).Offset(0, i))
             Next
     
           End If
     
           If Len(txt) > 1 Then MsgBox "Erreur, veuillez remplir une seule case par ligne !"
        End If
     
     
    End If
     
    End Sub
     
     
    Private Sub color_case()
    Select Case Range("C51").Value
    Case 0 To 0.4
    Range("F56").Interior.ColorIndex = 3
    Case 0, 41 To 0.6
    Range("F57").Interior.ColorIndex = 44
    Case 0.61 To 0.8
    Range("F58").Interior.ColorIndex = 28
    Case 0.81 To 1
    Range("F59").Interior.ColorIndex = 4
    End Select
    End Sub

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonjour, bonjour !

    Comment, où est lancée la procédure color_case ? Car, afin d'être exécutée, il faut bien l'appeler …




    __________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut
    je veux l'éxecuter automatiquement lorque la case du résultat est remplie dans la feuille , je n veux pas faire un bouton pour l'exécuter du coup le code est réalisé sur la feuille excel

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Donc logiquement intégrer le code dans celui de l'évènement ou encore,
    avec un tant soit peu de jugeote, appeler la procédure depuis l'évènement !





    __________________________________________________________________________________________________
    Heureux l'étudiant qui, comme la rivière, suis son cours sans quitter son lit …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

Discussions similaires

  1. Macro qui ne s'exécute pas sur les onglets voulus
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/05/2011, 17h17
  2. [XL-2003] La macro du module ne s'exécute pas avec celle de la feuille
    Par Neptune64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/09/2009, 17h42
  3. Macro ne s'exécute pas car fichier précédent tjrs ouvert
    Par mattwarend dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/12/2008, 12h02
  4. Exécution pas à pas dans Sub
    Par pleasewait dans le forum Access
    Réponses: 4
    Dernier message: 11/12/2006, 15h47
  5. Macro, mais les evenements ne s'exécutent pas tous
    Par polianita dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 16h53

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