Comparaison avec MFC qui donne des erreurs

Résolu
Bonjour,

J'ai voulu appliquer une MFC pour un fichier mais au résultat j'ai des erreurs que j'ai mis en bleu pour quelques données.
Je demande à comparer les deux listes avec la formule "=NB.SI(colonne;cellule)=0".

https://www.cjoint.com/?3Cfnke9G1G6

Pouvez m'expliquer quelle erreur j'ai commis svp ?

Cdlt

2 réponses

  1. Bonjour,

    Comme tu pourras le constater, dans ma feuille il n'y a qu'une MFC alors que dans la tienne il y en avait ... un certain nombre.

    https://www.cjoint.com/c/ECfnZqEfFUe

    A+
    0
    1. Bonjour

      merci pour ta formule

      Bonne journée

      Cdlt
      0
  2. Bonjour

    1) tu as plein de règles dans ta MFC, don certaines avec des refs non valables
    2) les plages indiquées ne sont pas bonnes (A:A au lieu de B:B

    Va dans Gérer les règles et supprimes toutes les règles puis tu en fais une seule avec la formule !
    =si(NB.SI(B:B;A1)=0
    et dans s'applique à : A:A

    Cdlmnt

    "L'imagination est plus importante que le savoir." A. Einstein
    0
    1. Bonjour

      Je ne sais plus ou j'ai la tête

      Cette formule je l'applique assez souvent. Les références venant de deux endroits, les écritures sont différentes. L'une est entrée à courir, c'est à dire sans "-" et l'autres les intègre ce qui fait que j'ai des fausses erreurs.
      Y aurait il une formule ou une macro qui permettrait de faire comme la MFC, mais au lieu de colorier les données, se serait de les placés dans une autre colonne et de m'enlever ces erreurs.

      Peux-tu m'aider stp ?

      Encore merci

      Bonne journée
      0
    2. @capeoRe

      Bien volontiers,
      macro pour couper et copier en feuille 2 les refs de la colonne A non présentes dans la colonne B :
      Sub copier()
      Application.ScreenUpdating = False
      Dim ligne As Long
      'dernière ligne remplie en colonne 1 de base
      ligne = Sheets("Feuil1").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
      ' boucle sur les lignes
      For n = 1 To ligne
      si nb.si=0
      If Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("B:B"), Sheets("Feuil1").Range("A" & n)) = 0 Then
      ' couper en A feuil1
      Sheets("Feuil1").Select
      Range("A" & n).Select
      Selection.Cut
      'incremente ligne en feuil2 et colle en feuil 2
      x = x + 1
      Sheets("Feuil2").Select
      Range("A" & x).Select
      ActiveSheet.Paste
      End If
      Next
      Application.ScreenUpdating = True
      End Sub


      Bonne journée également
      0
    3. @capeoDsl

      j'ai oublié l'apostrophe devant la ligne de commentaire Si nb.si
      Bonne macro :
      Sub copier()
      Application.ScreenUpdating = False
      Dim ligne As Long
      'dernière ligne remplie en colonne 1 de base
      ligne = Sheets("Feuil1").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
      ' boucle sur les lignes
      For n = 1 To ligne
      'si nb.si = 0
      If Application.WorksheetFunction.CountIf(Sheets("Feuil1").Range("B:B"), Sheets("Feuil1").Range("A" & n)) = 0 Then
      ' couper en A feuil1
      Sheets("Feuil1").Select
      Range("A" & n).Select
      Selection.Cut
      'incremente ligne en feuil2 et colle en feuil 2
      x = x + 1
      Sheets("Feuil2").Select
      Range("A" & x).Select
      ActiveSheet.Paste
      End If
      Next
      Application.ScreenUpdating = True
      End Sub
      0
    4. Merci

      cela fonctionne du tonnerre

      merci via55
      Cdlt
      0