supprimer lignes si valeur existe dans une feuille

Le
J&B
Bonjour,

j'ai en feuille "TMP" une liste de valeurs en colonne A
j'ai en feuille "Completed" des données avec certaines en colonne qui ont la
même valeur
Je souhaiterai suprimmer la ligne entiere concernée de la feuille
"Completed"
Le nombre de lignes en TMP est Completed est variable

Merci pour votre
J&B
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FdeCourt
Le #17462591
Salut,

En supposant que toute les cellules sont renseignées, il qu'il n'y a
pas de trou (a adapter en focntion du besoin) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("2")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(1, 1), .Cells(Lgnref, 1))
End With

With Sheets("1")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 1 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To Lgnref Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.
Jacky
Le #17462791
Bonsoir,
Je souhaiterai suprimmer la ligne entiere concernée de la feuille
"Completed"


'----------------
Sub jj()
With Sheets("Completed")
For Each c In Sheets("TMP").Range("A1:a" &
Sheets("TMP").[a65536].End(3).Row)
For i = .[a65536].End(3).Row To 1 Step -1
If c = .Cells(i, 1) Then .Rows(i).Delete
Next
Next
End With
End Sub
'----------------

--
Salutations
JJ


"J&B" 48ecf3df$0$14750$
Bonjour,

j'ai en feuille "TMP" une liste de valeurs en colonne A
j'ai en feuille "Completed" des données avec certaines en colonne qui ont
la même valeur
Je souhaiterai suprimmer la ligne entiere concernée de la feuille
"Completed"
Le nombre de lignes en TMP est Completed est variable

Merci pour votre
J&B



J&B
Le #17463301
Merci mais ça ne marche pas
ou je me suis mal exprimé
exemple
en feuille 1 colonne A = 1.2.3.4.5.6
En feuille 2 ColonneA = 1.3.4.6.7.8

La macro doit supprimer en feuille 2 les lignes 1.3.4.6

Parce ce que ces valeurs existent en feuille1

Merci




"FdeCourt"
Salut,

En supposant que toute les cellules sont renseignées, il qu'il n'y a
pas de trou (a adapter en focntion du besoin) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("2")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(1, 1), .Cells(Lgnref, 1))
End With

With Sheets("1")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 1 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To Lgnref Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.
FdeCourt
Le #17467651
Bonjour,
C'est ce que la macro fait. Si besoin, modifier les feuilles de
référence et de donnée.

Cette macro récupère les information contenu dans la feuille 2 (qui
sert de référence) et les compare avec celle de la feuille 1. SI elles
sont identiques, alors la ligne dans la feuille 1 est supprimé, sinon
elle est conservée.

Cordialement,

F.
J&B
Le #17470351
Bonjour,

Désolé mais ça ne marche vraiement pas
ça ne supprime que la premiere ligne
Je joint un fichier exemple
Merci
J

http://www.cijoint.fr/cjlink.php?file=cj200810/cijFP42wpc.xls




"FdeCourt"
Bonjour,
C'est ce que la macro fait. Si besoin, modifier les feuilles de
référence et de donnée.

Cette macro récupère les information contenu dans la feuille 2 (qui
sert de référence) et les compare avec celle de la feuille 1. SI elles
sont identiques, alors la ligne dans la feuille 1 est supprimé, sinon
elle est conservée.

Cordialement,

F.
Jacky
Le #17476181
Re...
La proposition faite dans ce fil ne convient pas ??
--
Salutations
JJ


"J&B" 48ede75d$0$5901$
Bonjour,

Désolé mais ça ne marche vraiement pas
ça ne supprime que la premiere ligne
Je joint un fichier exemple
Merci
J

http://www.cijoint.fr/cjlink.php?file=cj200810/cijFP42wpc.xls




"FdeCourt"
Bonjour,
C'est ce que la macro fait. Si besoin, modifier les feuilles de
référence et de donnée.

Cette macro récupère les information contenu dans la feuille 2 (qui
sert de référence) et les compare avec celle de la feuille 1. SI elles
sont identiques, alors la ligne dans la feuille 1 est supprimé, sinon
elle est conservée.

Cordialement,

F.





FdeCourt
Le #17479561
Salut,

Essayes avec cette macro (elle ne prend pas la première ligne) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("OUT")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(2, 1), .Cells(Lgnref, 1))
End With

With Sheets("IN")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 2 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To UBound(tabloRef) Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.
J&B
Le #17487771
Merci de prendre du temps, mais j'en suis vraiement désolé ça ne marche pas
ça ne suprime que la première valeur que l'on trouve sur la feuille IN

Je repete ce que je souhaite par un exemple

J'ai en feuille "IN" des valeurs en colonne
A1 : toto
A2 : titi
A3 : tata
A4 : tete
A5 : bobo
A6 : tyty

En Feuille "OUT"
A1 : toto
A2 : tata
A3 : tete
A4 : baba
A5 : bobo
A6 : lulu
A7 : titi

En lançant dans la macro il doit rester uniquement
en feuille "OUT" que les lignes qui contiennent

baba
lulu

Parce que les autres valeurs sont dans la feuille IN


Merci






"FdeCourt"
Salut,

Essayes avec cette macro (elle ne prend pas la première ligne) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("OUT")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(2, 1), .Cells(Lgnref, 1))
End With

With Sheets("IN")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 2 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To UBound(tabloRef) Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.
isabelle
Le #17488041
bonjour J&B,

Sub Macro1()
Set r1 = Sheets("IN").Range("A1:A" & Range("A65536").End(xlUp).Row)
For i = Sheets("OUT").Range("A65536").End(xlUp).Row To 1 Step -1
If Not IsError(Application.Match(Sheets("OUT").Range("A" & i), r1, 0)) Then
Sheets("OUT").Rows(i).Delete Shift:=xlUp
End If
Next
End Sub


isabelle

J&B a écrit :
Merci de prendre du temps, mais j'en suis vraiement désolé ça ne marche pas
ça ne suprime que la première valeur que l'on trouve sur la feuille IN

Je repete ce que je souhaite par un exemple

J'ai en feuille "IN" des valeurs en colonne
A1 : toto
A2 : titi
A3 : tata
A4 : tete
A5 : bobo
A6 : tyty

En Feuille "OUT"
A1 : toto
A2 : tata
A3 : tete
A4 : baba
A5 : bobo
A6 : lulu
A7 : titi

En lançant dans la macro il doit rester uniquement
en feuille "OUT" que les lignes qui contiennent

baba
lulu

Parce que les autres valeurs sont dans la feuille IN


Merci






"FdeCourt"
Salut,

Essayes avec cette macro (elle ne prend pas la première ligne) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("OUT")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(2, 1), .Cells(Lgnref, 1))
End With

With Sheets("IN")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 2 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To UBound(tabloRef) Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.




J&B
Le #17488241
Superrrrrrrrrrrrrrrrrrrrrrrrrr
Grand Merciiiiiiiiiiiiiiiiiiiiiiiiiiiii
ça Marche


"isabelle" a écrit dans le message de news:

bonjour J&B,

Sub Macro1()
Set r1 = Sheets("IN").Range("A1:A" & Range("A65536").End(xlUp).Row)
For i = Sheets("OUT").Range("A65536").End(xlUp).Row To 1 Step -1
If Not IsError(Application.Match(Sheets("OUT").Range("A" & i), r1, 0))
Then
Sheets("OUT").Rows(i).Delete Shift:=xlUp
End If
Next
End Sub


isabelle

J&B a écrit :
Merci de prendre du temps, mais j'en suis vraiement désolé ça ne marche
pas ça ne suprime que la première valeur que l'on trouve sur la feuille
IN

Je repete ce que je souhaite par un exemple

J'ai en feuille "IN" des valeurs en colonne
A1 : toto
A2 : titi
A3 : tata
A4 : tete
A5 : bobo
A6 : tyty

En Feuille "OUT"
A1 : toto
A2 : tata
A3 : tete
A4 : baba
A5 : bobo
A6 : lulu
A7 : titi

En lançant dans la macro il doit rester uniquement
en feuille "OUT" que les lignes qui contiennent

baba
lulu

Parce que les autres valeurs sont dans la feuille IN


Merci






"FdeCourt"
Salut,

Essayes avec cette macro (elle ne prend pas la première ligne) :
Option Base 1
Sub SupprLgnVide()
Dim tabloRef
With Sheets("OUT")
Lgnref = .Cells(65536, 1).End(xlUp).Row
tabloRef = .Range(.Cells(2, 1), .Cells(Lgnref, 1))
End With

With Sheets("IN")
LgnData = .Cells(65536, 1).End(xlUp).Row
For x = LgnData To 2 Step -1
ValCel = .Cells(x, 1).Value
For y = 1 To UBound(tabloRef) Step 1
If ValCel = tabloRef(y, 1) Then Rows(x).EntireRow.Delete:
GoTo Suite
Next
Suite:
Next
End With

End Sub

Cordialement,

F.




Publicité
Poster une réponse
Anonyme