Comparer deux onglets excel
sebj9
Messages postés
17
Statut
Membre
-
floap66 Messages postés 6 Statut Membre -
floap66 Messages postés 6 Statut Membre -
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
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:
- Comparer deux onglets excel
- Nombre de jours entre deux dates excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Fusionner deux cellules excel - Guide
- Si ou excel - Guide
6 réponses
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
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
«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 !
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 !
Bonjour
Utiliser =supprespace(a1) pour enlever les espaces parasites
ou si vous avez un numéro fournisseur comparer sur les numéros
Utiliser =supprespace(a1) pour enlever les espaces parasites
ou si vous avez un numéro fournisseur comparer sur les numéros
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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