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 :

pb procedure evenementielle [Toutes versions]


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
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Par défaut pb procedure evenementielle
    Bonjour,
    je ne suis pas devellopeur mais j'ai créés une procédure dans excel la voici

    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
    Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
     
    Dim num As Integer 
    If Not Intersect(Target, Range("r1:r" & Range("C65536").End(xlUp).Row)) Is Nothing Then 
     
    If Cells(Target.Row, 13) < 3 Then 
    Cells(Target.Row, 13) = Cells(Target.Row, 13) + 1 
    Cells(Target.Row, Target.Column).Font.ColorIndex = 5 
    Cells(Target.Row, Target.Column + 1).Font.ColorIndex = 5 
    End If 
    End If 
    If Not Intersect(Target, Range("w1:w" & Range("C65536").End(xlUp).Row)) Is Nothing Then 
    If Cells(Target.Row, 13) < 3 Then 
    Cells(Target.Row, 13) = Cells(Target.Row, 13) + 1 
    Cells(Target.Row, Target.Column).Font.ColorIndex = 5 
    End If 
    End If 
    If Not Intersect(Target, Range("y1:y" & Range("C65536").End(xlUp).Row)) Is Nothing Then 
    If Cells(Target.Row, 13) < 3 Then 
    Cells(Target.Row, 13) = Cells(Target.Row, 13) + 1 
    Cells(Target.Row, Target.Column).Font.ColorIndex = 5 
    End If 
    End If 
     
    End Sub

    tout fonctionne tres bien sur toutes les pages qui correspond au mois de l'année, quand je fait mes 2 clic sur soit une des cellules de la colonne r, w ou y ma police se met en bleu et mes cellules de la colonne M est bien incrementé de 1

    le pb estque si je fais un copié collé d"une ligne de janvier a fevrier par ex ma cellule de la colonne A et B se met en bleu, ainsi que la rs wy et dans colonne M ma cellule se met directement à 3 alors que moi je ne veux pas de modif
    je ne vois pas pourquoi il me fais ses modifs
    avez vous une idéé ?

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Essaies comme ceci
    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
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim LastLig As Long
     
    If Target.Count = 1 Then
        LastLig = Cells(ActiveSheet.Rows.Count, "C").End(xlUp).Row
        If Not Intersect(Target, Union(Range("R1:R" & LastLig), Range("Y1:Y" & LastLig), Range("W1:W" & LastLig))) Is Nothing Then Trans Target
    End If
    End Sub
     
    Private Sub Trans(ByVal Rng As Range)
     
    On Error Resume Next
    Application.EnableEvents = False
    If Val(Cells(Rng.Row, 13)) < 3 Then
        Cells(Rng.Row, 13) = Val(Cells(Rng.Row, 13)) + 1
        Cells(Rng.Row, Rng.Column).Font.ColorIndex = 5
    End If
    On Error GoTo 0
    Application.EnableEvents = True
    End Sub
    Regarde en particulier dans l'aide EnableEvents.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Par défaut
    ca ne marche pas a moin que j'ais fait une erreur je te passe le fichier
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    ca ne marche pas
    C'est le genre de réponses qui n'apporte aucun élément de réponse.

    Explique clairement ce que tu souhaites faire et ce que tu rencontre comme problème (en se basant sur ke fichier que tu viens de joindre)

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2012
    Messages : 14
    Par défaut
    si tu copie une ligne de janvier et que tu la colle dans la feuille fevrier
    les cellules de cette ligne de la colonne A et B se mette en bleu ( pourquoi?)
    ainsi que pour R , s et w et y et la cellule de la colonne m s'incremente automatiquement comme si la macro se mettait en marche
    mais moi je veux juste un copié coller
    car si la cellule se met en bleu cela veut dire que la facture à été validé et la ce n'est pas le cas

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bon, j'ai supprimé la procédure du module de la feuille et j'ai mis une nouvelle dans le module ThisWorkbook (ceci n'a pas d'influence sur le code mais pour qu'un seul code sera pris en compte pour toutes les feuilles)

    Je copie des lignes entre feuilles sans que le code soit appelé et sans que les cellules A et B s colorient.


    Code à mettre dans le module ThisWorkbook en effaçant au préalable les codes de chaque feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_Change(ByVal Target As Excel.Range)

    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
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim LastLig As Long
     
    If Target.Count = 1 Then
        LastLig = Sh.Cells(Sh.Rows.Count, "C").End(xlUp).Row
        If Not Intersect(Target, Union(Sh.Range("R1:R" & LastLig), Sh.Range("Y1:Y" & LastLig), Sh.Range("W1:W" & LastLig))) Is Nothing Then Trans Sh, Target
    End If
    End Sub
     
    Private Sub Trans(ByVal Sh As Worksheet, ByVal Rng As Range)
     
    On Error Resume Next
    Application.EnableEvents = False
    With Sh
        If Val(.Cells(Rng.Row, 13)) < 3 Then
            .Cells(Rng.Row, 13) = Val(.Cells(Rng.Row, 13)) + 1
            .Cells(Rng.Row, Rng.Column).Font.ColorIndex = 5
        End If
    End With
    On Error GoTo 0
    Application.EnableEvents = True
    End Sub

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

Discussions similaires

  1. [AC-2003] procedure evenementielle d'une etiquette
    Par chuspyto dans le forum IHM
    Réponses: 4
    Dernier message: 23/11/2010, 18h35
  2. Trouver la bonne procedure evenementielle
    Par bellemeche dans le forum IHM
    Réponses: 1
    Dernier message: 11/07/2010, 08h13
  3. Réponses: 3
    Dernier message: 11/11/2008, 18h01
  4. requete Procedure evenementielle
    Par desilo dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/03/2008, 11h47
  5. [VBA-E] Procedure Evenementielle à l'ouverture d'un classeur.
    Par Yoshiblow dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2007, 10h46

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