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 :

erreur de code avec target


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 66
    Points
    66
    Par défaut erreur de code avec target
    salut everybody,

    jsui en train de péter un câble sur un pblm à 2$...

    pourquoi mon ridicule bout de code ne marche pas?? :

    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
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim i As Integer 'pour utilisation de la boucle
     
    'si on double click sur la colonne 13, alors si case = "X"
    If Target.Column = 13 Then
     
        For i = 0 To 50 'on scanne toute la colonne L pour trouver les cases comprenant un "x"
     
    If Target.Value = "x" Then
     
            Range("A2:L2").Offset(i, 0).Font.Color = RGB(0, 255, 0)
        'on passe les lignes qui ont un "x" en couleur vert
        End If
        Next i
     
    End If
     
    End Sub
    merci.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Points : 1 114
    Points
    1 114
    Par défaut
    Bonsoir,

    essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("M:M")) Is Nothing Then: Exit Sub
    For i = 1 To 50
    If Cells(i, 12) = "X" Then
    Range(Cells(i, 1), Cells(i, 12)).Interior.ColorIndex = 10 'autre vert "brillant":4
    End If
    Next
    End Sub
    petit truc la colonne 13 correspond à la lettre M, est ce que tu voulais?
    Michel_M

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    je ne suis pas un pro du offset alors voila une autre facon de faire
    Cette solution met bien en vert les ligne avec un x dans la colonne M
    Reste a voir si la fin de ta colonne est bien a la ligne 50

    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_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim i As Integer 'pour utilisation de la boucle
     
    'si on double click sur la colonne 13, alors si case = "X"
    If Target.Column = 13 Then
     
        For i = 2 To 50 'on scanne toute la colonne L pour trouver les cases comprenant un "x"
     
            If Range("M" & i).Value = "x" Then
     
                Range("A" & i & ":L" & i).Font.Color = RGB(0, 255, 0)
                'on passe les lignes qui ont un "x" en couleur vert
            End If
        Next i
     
    End If
     
     
    End Sub
    Jérôme

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 66
    Points
    66
    Par défaut
    salut,

    merci quand même pour les pistes mais ça ne marche pas....

    Je souhaite juste dans mon tabelau de "N" colonne et de "N" ligne, lorsque je rentre la valeur "X", dans ma colonne "M" :

    --> Toute ma ligne jusqu'à ma colonne "M" se mette en vert.

    peut-être que je vous ai mis dans une mauvaise piste avec mon bout de code.

    merci d'avance.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Points : 451
    Points
    451
    Par défaut
    Bonjour, essaie :

    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
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     
    'si on double click sur la colonne 13
    If Target.Column = 13 Then
     
    If Target.Value = "" Then
            'On met un X et on met en vert
            Target.Value= "X"
            Range("A" & Target.Row & ":L" & Target.Row).Font.Color = RGB(0, 255, 0)
            Cancel = True
    ElseIf Target.Value= "X" Then
            'On efface le X et on met sans couleur
            Target.Value= ""
            Range("A" & Target.Row & ":L" & Target.Row).Font.ColorIndex = xlNone
            Cancel = True
    End If
     
     
    End If
     
    End Sub

  6. #6
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ce que tu veux, c'est ni plus ni moins qu'un format conditionnel. J'ai obtenu ceci avec l'enregistreur de macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro1()
    '
    ' Macro1 Macro
    ' Macro enregistrée le 2007-07-20 par zazaraignée
    '
     
    '
        Selection.FormatConditions.Delete
        Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
            Formula1:="=""x"""
        Selection.FormatConditions(1).Interior.ColorIndex = 4
    End Sub
    Il ne reste plus qu'à l'adapter à ton code.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 66
    Points
    66
    Par défaut
    super merci beaucoup à tout le monde!

    j'ai différents mode de fonctionnement ça me va!
    A+

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/01/2023, 11h56
  2. erreur de code avec INSERT INTO
    Par s.jean dans le forum IHM
    Réponses: 3
    Dernier message: 11/08/2008, 22h11
  3. Erreur de code avec Ajax
    Par sadkat dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 14/02/2008, 15h55
  4. [W3C] Erreur de validation d'un code avec définition d'id
    Par pierrot10 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 17/02/2007, 08h37
  5. Erreur de code ou probleme avec le débugger
    Par croc14 dans le forum MFC
    Réponses: 8
    Dernier message: 07/06/2006, 15h15

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