Bonsoir,
J'avias écrit il y a quelques temps une macro qui permettait d'isoler les cellules dont le contenu n'existait pas dans une seconde feuille


Sub Comparer
'Supprimer les lignes dont la cellule Y de la feuille 1 est égale à la cellule X de la feuille 2
'Remarque : les colonnes sont considérées triées
' : l'exemple ne traite que les valeurs de type string
' : pour les types valeurs remplacer CelluleX.String par CelluleX.Value


  Dim FeuilleA As Object
  Dim FeuilleB As Object
  Dim CelluleA As Object
  Dim CelluleB As Object
  Dim i as integer, x as integer
  Dim j as integer,y as integer

  Dim ContVide As Integer
  ContVide   = com.sun.star.table.CellContentType.EMPTY
  'Interdire la mise à jour de l'affichage
  Thiscomponent.lockcontrollers

   'selectionner les feuilles
  FeuilleA = Thiscomponent.Sheets.getByName("Feuille1")
  FeuilleB = Thiscomponent .Sheets.getByName("Feuille2")
  i = 0
  x = 0
  j = 0
  y = 0

  CelluleB = FeuilleB.getCellByPosition(x,y)
  do while CelluleB.Type <> ContVide
    CelluleA = FeuilleA.getCellByPosition(i,j)
    do while CelluleA.Type <> ContVide
      if CelluleA.String = CelluleB.String then
        dim LaLigne As Object
        LaLigne = CelluleA.Rows
        LaLigne.removeByIndex(i,1)
      else  if CelluleA.String > CelluleB.String then
            exit do
            else
              j = j + 1
            end if
      end if
      CelluleA = FeuilleA.getCellByPosition(i,j)
    Loop
    j = 0
    y = y + 1
    CelluleB = FeuilleB.getCellByPosition(x,y)
  Loop
  'Autoriser la mise à jour  de l'affichage
  Thiscomponent.unlockcontrollers
End Sub


christianwtd a écrit :
Joel Bernard a écrit :

Bonjour à tous,


Je recherche une manière pour comparer les données de deux tableaux Calc pour mettre à jour l'original
Je m'explique, une liste de nom est récupére sur un tableau et j'aimerais la comparer à mon original pour connaître les noms à ajouter.


Par quel moyen puis-je le faire?


Bonjour,

Une piste.. basée sur des suppositions.
Si tes 2 tableaux sont strictement identiques (en structure) et dans 2 feuilles différentes et commençant en A1. Tu les compares dans une 3ème feuille avec la formule :
=Feuille1.A1=Feuille2.A1 (que tu recopies dans le tableau)
qui retourne VRAI (1) ou FAUX (0) suivant cas.
Ensuite à partir du tableau de base (Feuille 1 ?) tu appliques un formatage conditionnel en imposant (par exemple) un fond rouge si c'est différent.


Oui, je sais, plus facile à dire qu'à faire :-)
Si ça va pas, précises tes souhaits.

Je vous souhaite une bonne fin de journée
Merci à tous

Joël BERNARD
Correspondant Local Informatique
Route de La Ferté
71240 Sennecey le Grand
Tél : 03 85 44 68 14 [EMAIL PROTECTED]




Bon surf
Christian


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Répondre à