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 :

worksheet.change et onglets [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut worksheet.change et onglets
    Bonjour

    j'ai une macro qui me crée 12 onglets (un pour chaque mois) et en colonnes les jours du mois.
    Dans une cellule A7, j'ai un nombre (effectif des agents)

    l'utilisateur est amené à saisir pour chaque jour le nombre d'agents affecté à une tâche suivant la période de l'année dans l'onglet correspondant au mois en cours.
    Une ligne total du nombre d'agents affectés.
    le total des agents affectés doit obligatoirement être inférieur à l'effectif.
    Ce total évolue donc en fonction des saisies.
    On pourrait imagine une macro sur l'évènement worksheet.change.
    mais cette fonction s'applique à un onglet
    comment faire pour qu'elle s'applique à tous les onglets mensueL ?

    Quelqu'un aurait-il une idée ?
    bien à vous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Pierre67

    En utilisant l'évènement dans ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Sh te retourne la feuille dans laquelle est fait la modification

    A+

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut
    merci beaucoup pour le tuyau

    j'ai écrit ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    dercol = Sh.Cells(6, Cells.Columns.Count).End(xlToLeft).Column
    For i = 2 To dercol
        If Sh.Range(Cells(5, i)) <> "sam" And Sh.Range(Cells(5, i)) <> "dim" Then
            If Sh.Range(Cells(7, i)) < Sh.Range("A7") Then
                Sh.Range(Cells(5, i)).Interior.ColorIndex = 43
            End If
        End If
    Next
     
     
    End Sub
    mais cela ne fonctionne pas

    ma syntaxe ne doit pas être bonne

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re,

    Voilà comment je ferais, mais sans fichier je ne peux pas tester
    J'ai mis des annotations
    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
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      Dim DerCol As Long
      ' Récupérer la dernière colonne
      DerCol = Sh.Cells(6, Sh.Cells.Columns.Count).End(xlToLeft).Column
      ' Pour chaque colonne à partir de la 2ème
      For i = 2 To DerCol
        ' Si la cellule de la ligne 5 de la colonne i
        ' ne contient pas le texte "sam" ou "dim"
        If Sh.Cells(5, i) <> "sam" And Sh.Cells(5, i) <> "dim" Then
          ' Si la cellule de la ligne 7 de la colonne i
          ' est différente de la cellule A7
          If Sh.Cells(7, i) < Sh.Range("A7") Then
            ' mettre en couleur la cellue
            Sh.Cells(5, i).Interior.ColorIndex = 43
          End If
        End If
      Next
    End Sub
    A+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 442
    Par défaut
    Merci Bruno

    cela fonctionne parfaitement
    @+

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

Discussions similaires

  1. [XL-2003] manip worksheet change simple
    Par Emily2711 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/04/2009, 19h43
  2. Réponses: 8
    Dernier message: 21/08/2008, 18h46
  3. Procédure Worksheet-change en VB sous excel
    Par jayorange dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 01/03/2008, 15h02
  4. Evènement Worksheet Change
    Par elise__ dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/10/2007, 14h36
  5. evenement worksheets change
    Par AnozerOne dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/07/2007, 06h42

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