Excel - Macros ou formulle ?

Résolu
Bonjour,

Sous Excel j'ai 2 colonnes pouvant être complètée par une "X", je souhaite automatisé que si je mets "X" dans la seconde la "X" figuant dans la 1ère est éffacée. En fait il ne doit pas y avoir de "X" dans les 2 colonnes, ceci sur plusieurs ligne ...
les 2 cellules à complètées sont cote à cote, je sais pas si je suis assé clair ...

Je pensais utilisé 3 cellule adjacantes, y mettre la valeur 1 si la cellule à une "X" faire une somme et que si la somme est égale à 2 exécuter une macros éfassant la première "X", mais pas évident ...

X X 1 1 2 (si=2 effacer la 1ere "x")

Si quelqu'un a une idée ???? merci !!!!!

Bonne soirée
Configuration: Windows 2000
Internet Explorer 6.0

10 réponses

  1. Contributeur
    Long, non sucré STP ;-)

    Merci de cocher "résolu"
    0
    1. OK , c'est bon !!!!!

      Ca marche impeccable

      Merci !!!!

      Je peux te payer un café ? ....

      a+, bonne journée
      0
      1. Contributeur
        Relis le post que je t'avais envoyé au départ !!!

        macro à installer dans un module feuille ( copier,clic droit sur l'onglet, visualiser le code- coller)

        tu copies l'ensemble de la macro de private ..... end sub
        il faut surtout la renommer!!!
        0
        1. c'est peut-être là le soucis... oui

          Qu'appelles tu le module "feuille" ? stp

          Ce que j'ai fais sur ma feuille excel j'ai créé une macro (nomée éfface) puis je l'ai exécuté ...

          je vois pas trop la diff entre module feuille et moudule 1 ... excuse moi

          a+ , merci
          0
          1. Contributeur
            as tu bien coller la macro dans un module "feuille" et non dans module1 ?
            0
            1. même message d'erreur

              je suis sous Excel 2002 ...
              0
              1. Contributeur
                Bonjour,

                remplace columns("A:B")

                par range("A1:B50000")

                mais c'est curieux, je viens de réessayer, ca marche chez moi! (XL2003)

                merci de me tenir au courant du résultat
                0
                1. Bonjour,

                  Merci de votre aide !

                  J'ai créé une macro que j'ai appelé "efface" puis je l'ai exécuté :

                  J'ai un message d'Erreur d'éxécution '424' objet requis

                  la lige concernée :

                  If Intersect(Target, Columns("A:B")) Is Nothing Then:

                  Merci !!!

                  bonne journée
                  0
                  1. Contributeur
                    Bonsoir,

                    en supposant que dans ces 2 colonnes, il s'agisse de saisies et non de résultats de formules
                    A mon avis on est obligé de passer par une macro

                    Private Sub Worksheet_Change(ByVal Target As Range)
                    Dim lig As Long
                    Static flag As Boolean
                    
                    If Intersect(Target, Columns("A:B")) Is Nothing Then: Exit Sub
                    If flag Then
                    flag = False
                    Exit Sub
                    End If
                    
                    ' 1 correspond à col A, 2 à colB
                    lig = Target.Row
                    If Application.CountIf(Range(Cells(lig, 1), Cells(lig, 2)), "X") = 2 Then
                        flag = True
                       
                        If Target.Column = 2 Then
                            Target.Offset(0, -1).ClearContents
                        Else
                            Target.Offset(0, 1).ClearContents
                        End If
                    End If
                    End Sub


                    réalisé pour colonne A et B

                    macro à installer dans un module feuille ( copier,clic droit sur l'onglet, visualiser le code- coller)
                    0