Comparer deux onglets excel

Fermé
sebj9 Messages postés 14 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 21 décembre 2012 - 22 oct. 2012 à 11:35
floap66 Messages postés 6 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 22 octobre 2012 - 22 oct. 2012 à 21:48
Bonjour,

Je souhaiterais comparer deux onglets excel. Dans un premier onglet, j'ai une base de données d'un grand nombre d'entreprises.

Dans le deuxième onglet, j'ai juste les entreprises que je veux, j'aimerais donc pourvoir supprimer automatiquement les entreprises du premier onglet qui ne se trouvent pas dans le deuxième.

Comment faire ? Je pense qu'il faut une macro en VBA.

Merci d'avance


A voir également:

6 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 oct. 2012 à 12:00
Bonjour,

Ajoutes une colonne au 1er onglet avec une formule du type:
=NB.SIEntreprises_du_2°_onglet;Entreprise)

Puis tu filtres sur 0 et tu supprimes les lignes
0
sebj9 Messages postés 14 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 21 décembre 2012 5
22 oct. 2012 à 13:02
Merci de vos réponse mais j'ai essayé et la formule ne fonctionne pas !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 oct. 2012 à 13:11
«la formule ne fonctionne pas» ???

Ne serait-ce pas plutôt les noms des entreprises qui seraient libellés différemment ?

Il faut que les noms soient identiques dans les 2 listes !

Si ce n'est pas le cas, tu n'as plus qu'a supprimer les entreprises manuellement !
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
22 oct. 2012 à 14:04
Bonjour

Utiliser =supprespace(a1) pour enlever les espaces parasites
ou si vous avez un numéro fournisseur comparer sur les numéros
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
floap66 Messages postés 6 Date d'inscription lundi 9 juin 2008 Statut Membre Dernière intervention 22 octobre 2012
22 oct. 2012 à 21:48
Bonsoir,

Je vous propose cette macro. Essayez là en adaptant les plages de cellules à votre fichier.


Sub suppression_entreprises()
Dim rng_liste_ent, rng_critere, resultat, rng_ent As Range
Dim ent_a_supp, ent As String

Sheets(1).Activate
Set rng_liste_ent = Range(Range("A2"), Range("A2").End(xlDown))
Sheets(2).Activate
If Range("A1").Offset(1, 0).Value <> "" Then
Set rng_critere = Range(Range("A2"), Range("A2").End(xlDown))
Else
Set rng_critere = Range("A2")
End If

Sheets(1).Activate
For Each cell In rng_liste_ent
cell.Select
Set rng_ent = ActiveCell
ent = ActiveCell.Value
Sheets(2).Activate
Set resultat = rng_critere.Cells.Find(what:=ent, searchorder:=xlByRows, searchdirection:=xlNext)

If resultat Is Nothing Then
ent_a_supp = ent_a_supp & rng_ent.Address(0, 0) & ","
End If

Sheets(1).Activate
Next cell

Range(Left(ent_a_supp, Len(ent_a_supp) - 1)).Select
Selection.EntireRow.Delete
Range("A1").Select

End Sub

En espérant que cela puisse vous aider!
N'hésitez pas si soucis.

Bonne soirée
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
22 oct. 2012 à 12:06
Bonjour

=NB.SI(Feuil1!$A$1:$A$100;Feuil2!$A1)
ou A colonne des entreprises
-1
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
22 oct. 2012 à 12:14
C'est plutôt l'inverse :
=NB.SI(Feuil2!A:A;A2)
sur la feuille 1 ou il faut supprimer les excédents
0