Excel

Bonjour,
Chaque fois que j'inscris une donnée dans une colonne dans excel je suis averti par message (j'ai activé cette application à partir "données" et "validation" après avoir défini le nom du champ à partir de "insertion"), le problème que seule les données se trouvant dans une seule colonne dans une deuxième feuille dans le même classeur qui sont pris en considération alors que j'ai une deuxième colonne dans la même feuille et je veux appliquer la même chose dans la même cellule où je vais saisir mes données. c.a.d je veux être informé si la donnée que je viens de la saisir se trouve dans la 1ère colonne ou la 2ème colonne ou dans les deux colonnes.
merci d'avance pour votre aide

9 réponses

  1. Salut,

    Il suffit de mettre la plage en surbrillance et appliquer la régle que l'on défini dans Données/Validation
    dans le cas ou une régle est définie sur un colonne, la mettre en surbrillance Données/Validation et clic sur Tout effacer

    et redéfinir la nouvelle plage et les critères souhaités
    0
    1. Bonjour,
      Merci Mike pour votre intervention mais je n'ai pas compris tout à fait ce que vous m'avez demandé, en plus je veux que si je fais la saisie d'une donnée qui se trouve dans la colonne "A" de la 2ème feuille un message d'avertissement m'affiche pour me dire que c'est une donnée de la colonne "A" et si je fais la saisie d'une donnée de la colonne "B" de la 2ème feuille un message s'affiche pour me dire que c'est une donnée de la colonne "B", en plus j'ai des données qui se trouve à la fois dans la colonne "A" et "B" et j'aime bien que le message m'informe que cette donnée se trouve dans les deux colonnes.
      Merci beaucoup pour votre aide
      0
      1. Re,

        Alors en VBA, récupères le fichier ci joint, saisis des données dans la plage A2 à B30 de la feuille 2 ensuite saisis de données feuille 1 si ces ndonnées existent sur la feuille 2 soit colonne A ou B tu auras un message.

        Si je trouve un moment je regarde s'l est possible de faire sans VBA

        https://www.cjoint.com/?dFlq45UvGo
        0
        1. Merci,
          est ce que je peux savoir comment je peux appliquer le programme que vous m'avez envoyé dans ma base de données et si je peux avoir une solution sans VBA
          merci beaucoup pour votre aide
          0
          1. Re,

            Pour l'adapter à ton programme, il faudrait le voir soit en mettant le lien sur un post soit en message privé clic sur mon pseudo et message privé

            Pour créer le lien, avec ce lien

            https://www.cjoint.com/

            pour passer sans VBA, et afin de bloquer la nouvelle saisie je ne vois que la Validation, une formule ne pourra te donner qu'un message exemple Doublon
            0
            1. Bonjour, j'ai confronté un problème parce que je peux avoir une donnée qui se trouve à la fois dans la 1ère colonne qu'en 2ème colonne alors le résultat de son emplacement n'est plus correct puisque l'application que vous m'avez confirmée va donner, dans ce cas, la somme des lignes et des colonnes où se trouve cette donnée dans les deux cellules
              je vous remercie pour votre intervention
              0
              1. Merci Mike pour votre aide
                mais j'ai des problèmes:
                1- comment je peux élargir la plage que vous m'avez envoyé puisque c'est un peu limité par rapport à ma base de données
                2- je veux que la solution ne s'affiche pas dans une cellule, je veux qu'elle soit sous forme de message d'avertissement
                3- comment je peux changer le message d'avertissement (juste ce qui s'affiche au message seulement en laissant les formulations)
                Merci
                0
                1. Re,
                  Ci dessous le code qu'il conviendra d'alléger en fonction de l'option retenue, soit affichage dans cellule, soit dans un commentaire ou boite de dialogue.
                  de même pour les plages misent en application soit avec des références cellules soit avec des plages nommées.
                  Explications dans le code ligne précédée d'une apostrophe

                  Private Sub Worksheet_Change(ByVal Target As Range)
                  'la ligne ci-dessous définie la zone de saisie soumise à contrôle, soit en définissant la plage
                  If Not Intersect(Range("A2:B30"), Target) Is Nothing And Target.Count = 1 Then
                  'ou plus simplement en nomment la plage ici PlageSaisie
                  If Not Intersect([PlageSaisie], Target) Is Nothing And Target.Count = 1 Then
                  'si la plage de référence est sur une autre feuille il convient de nommer la plage ici nommée PlageRecherche
                  For Each c In [PlageRecherche]
                  'cette ligne compare les deux listes
                  If UCase(c.Value) = UCase(Target.Value) And c.Row <> Target.Row And c.Value <> Empty Then
                  'si valeur existante affiche le message en C2
                  [C2] = ("Valeur existante feuille 2 cellule :" & c.Address)
                  'si valeur existante affiche dans la cellule un message dans un commentaire
                  ActiveCell.AddComment
                  ActiveCell.Comment.Text Text:=("Valeur existante feuille 2 cellule :" & c.Address)
                  'attention, si la fonction déplacement de la validation après sélection
                  'est cochée il conviendra de modifier le code, ici pour un déplacement vers le bas
                  ActiveCell.Offset(0 - 1).AddComment
                  ActiveCell.Offset(0 - 1).Comment.Text Text:=("Valeur existante feuille 2 cellule :" & c.Address)
                  'Ou on conserve la boite de dialogue
                  réponse = MsgBox("Valeur existante feuille 2 cellule :" & c.Address & Chr$(10) & _
                  "Voulez-vous le garder ?", vbYesNo + vbInformation, "DETECTION DOUBLON")
                  If réponse = vbNo Then
                  Application.EnableEvents = False
                  Target.Value = Empty
                  Target.Select
                  Application.EnableEvents = True
                  End If
                  End If
                  Next c
                  End If
                  End Sub

                  A+
                  Mike-31

                  Une période d'échec est un moment rêvé pour semer les graines du savoir.
                  0