bonjour a tous,
j'ai une feuille de donnée avec pleins de champs remplis, et je dois ne
conserver que certains de ces champs ( pour lesquels la company= a ou b c ou
d etc..).
Comme je dois alors supprimer les lignes j'ai voulu faire ma procédure de
cette manière:
si company<>a et <> b et <>c etc... alors suprime moi la ligne sinon va
regarder a la ligne du dessous. Quand company = a ou b ou c il va a la ligne
du dessous mais le problème c'est que quand c'est différent, il ne fait pas
l'action suprimer. Je vous mets mon code, si vous pouvez m'aider merci
beaucoup!
For Each nom In
Workbooks("reporting_V4").Worksheets("baseERM").Range("nom_projet")
t1 = nom.Row
chemin3 = Workbooks("reporting_V4").Worksheets("baseERM").Range("R" &
t1).Value
If chemin3 <> "BDF France (Paris)" And chemin3 <> "BLF (Logistic FR)" And
chemin3 <> "BDF UK" And chemin3 <> "BDF AG Hamburg" _
And chemin3 <> "BDF Belgium" And chemin3 <> "LDE (Eucerin FR)" And
chemin3 = "BDF Italy" And chemin3 <> "BDF Austria" _
And chemin3 <> "BDF Spain Madrid" And chemin3 <> "All Asian Comp
(BASS)" And chemin3 <> "BDF Netherlands" And chemin3 <> "BDF Switzerland" _
And chemin3 <> "BDF Russia" And chemin3 <> "All European companies
(BESS)" And chemin3 <> "BSN Medical Hamburg" And chemin3 <> "Florena
Waldheim" _
And chemin3 <> "RASGE" And chemin3 <> "BDF France" And chemin3 <>
"BSS GmbH" Then
nombreligne =
Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count
For nom3 = nombreligne To 2 Step -1
If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" &
nom3) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom3).Delete
End If
Next nom3
ElseIf chemin3 = "BSS GmbH" Then
chemin4 =
Workbooks("reporting_V4").Worksheets("baseERM").Range("S" & t1).Value
If chemin4 <> "IAPS - All Groups" And chemin4 <> "IAPS - APO/PP"
And chemin4 <> "IAPS - BW" And chemin4 <> "IAPS - FI/CO/PS" _
And chemin4 <> "IAPS - HCM" And chemin4 <> "IAPS - LE" And chemin4 =
"IAPS - MD (PLM)" And chemin4 <> "IAPS - MM" _
And chemin4 <> "IAPS - Non SAP" And chemin4 <> "IAPS - PP-PI" And
chemin4 <> "IAPS - QM" And chemin4 <> "IAPS - SD / EDI" Then
nombreligne =
Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count
For nom4 = nombreligne To 2 Step -1
If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" &
nom4) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom4).Delete
End If
Next nom4
End If
End If
Next nom
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Est-ce que tu as essayé de l'exécuter en mode pas à pas pour localiser l'anomalie ? Cordialement. Daniel "Maud" a écrit dans le message de news:
bonjour a tous, j'ai une feuille de donnée avec pleins de champs remplis, et je dois ne conserver que certains de ces champs ( pour lesquels la company= a ou b c ou d etc..). Comme je dois alors supprimer les lignes j'ai voulu faire ma procédure de cette manière: si company<>a et <> b et <>c etc... alors suprime moi la ligne sinon va regarder a la ligne du dessous. Quand company = a ou b ou c il va a la ligne du dessous mais le problème c'est que quand c'est différent, il ne fait pas l'action suprimer. Je vous mets mon code, si vous pouvez m'aider merci beaucoup!
For Each nom In Workbooks("reporting_V4").Worksheets("baseERM").Range("nom_projet") t1 = nom.Row chemin3 = Workbooks("reporting_V4").Worksheets("baseERM").Range("R" & t1).Value If chemin3 <> "BDF France (Paris)" And chemin3 <> "BLF (Logistic FR)" And chemin3 <> "BDF UK" And chemin3 <> "BDF AG Hamburg" _ And chemin3 <> "BDF Belgium" And chemin3 <> "LDE (Eucerin FR)" And chemin3 = "BDF Italy" And chemin3 <> "BDF Austria" _ And chemin3 <> "BDF Spain Madrid" And chemin3 <> "All Asian Comp (BASS)" And chemin3 <> "BDF Netherlands" And chemin3 <> "BDF Switzerland" _ And chemin3 <> "BDF Russia" And chemin3 <> "All European companies (BESS)" And chemin3 <> "BSN Medical Hamburg" And chemin3 <> "Florena Waldheim" _ And chemin3 <> "RASGE" And chemin3 <> "BDF France" And chemin3 <> "BSS GmbH" Then nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count For nom3 = nombreligne To 2 Step -1 If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" & nom3) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom3).Delete End If Next nom3 ElseIf chemin3 = "BSS GmbH" Then chemin4 > Workbooks("reporting_V4").Worksheets("baseERM").Range("S" & t1).Value If chemin4 <> "IAPS - All Groups" And chemin4 <> "IAPS - APO/PP" And chemin4 <> "IAPS - BW" And chemin4 <> "IAPS - FI/CO/PS" _ And chemin4 <> "IAPS - HCM" And chemin4 <> "IAPS - LE" And chemin4
"IAPS - MD (PLM)" And chemin4 <> "IAPS - MM" _ And chemin4 <> "IAPS - Non SAP" And chemin4 <> "IAPS - PP-PI" And
chemin4 <> "IAPS - QM" And chemin4 <> "IAPS - SD / EDI" Then nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count For nom4 = nombreligne To 2 Step -1 If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" & nom4) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom4).Delete End If Next nom4 End If End If Next nom
merci d'avance!
Bonjour.
Est-ce que tu as essayé de l'exécuter en mode pas à pas pour localiser
l'anomalie ?
Cordialement.
Daniel
"Maud" <Maud@discussions.microsoft.com> a écrit dans le message de news:
DDDA0E02-DFC4-43B8-B60B-486EE9040B04@microsoft.com...
bonjour a tous,
j'ai une feuille de donnée avec pleins de champs remplis, et je dois ne
conserver que certains de ces champs ( pour lesquels la company= a ou b c
ou
d etc..).
Comme je dois alors supprimer les lignes j'ai voulu faire ma procédure de
cette manière:
si company<>a et <> b et <>c etc... alors suprime moi la ligne sinon va
regarder a la ligne du dessous. Quand company = a ou b ou c il va a la
ligne
du dessous mais le problème c'est que quand c'est différent, il ne fait
pas
l'action suprimer. Je vous mets mon code, si vous pouvez m'aider merci
beaucoup!
For Each nom In
Workbooks("reporting_V4").Worksheets("baseERM").Range("nom_projet")
t1 = nom.Row
chemin3 = Workbooks("reporting_V4").Worksheets("baseERM").Range("R" &
t1).Value
If chemin3 <> "BDF France (Paris)" And chemin3 <> "BLF (Logistic FR)"
And
chemin3 <> "BDF UK" And chemin3 <> "BDF AG Hamburg" _
And chemin3 <> "BDF Belgium" And chemin3 <> "LDE (Eucerin FR)" And
chemin3 = "BDF Italy" And chemin3 <> "BDF Austria" _
And chemin3 <> "BDF Spain Madrid" And chemin3 <> "All Asian Comp
(BASS)" And chemin3 <> "BDF Netherlands" And chemin3 <> "BDF Switzerland"
_
And chemin3 <> "BDF Russia" And chemin3 <> "All European companies
(BESS)" And chemin3 <> "BSN Medical Hamburg" And chemin3 <> "Florena
Waldheim" _
And chemin3 <> "RASGE" And chemin3 <> "BDF France" And chemin3 <>
"BSS GmbH" Then
nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count
For nom3 = nombreligne To 2 Step -1
If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" &
nom3) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom3).Delete
End If
Next nom3
ElseIf chemin3 = "BSS GmbH" Then
chemin4 > Workbooks("reporting_V4").Worksheets("baseERM").Range("S" & t1).Value
If chemin4 <> "IAPS - All Groups" And chemin4 <> "IAPS - APO/PP"
And chemin4 <> "IAPS - BW" And chemin4 <> "IAPS - FI/CO/PS" _
And chemin4 <> "IAPS - HCM" And chemin4 <> "IAPS - LE" And chemin4
"IAPS - MD (PLM)" And chemin4 <> "IAPS - MM" _
And chemin4 <> "IAPS - Non SAP" And chemin4 <> "IAPS - PP-PI" And
chemin4 <> "IAPS - QM" And chemin4 <> "IAPS - SD / EDI" Then
nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count
For nom4 = nombreligne To 2 Step -1
If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" &
nom4) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom4).Delete
End If
Next nom4
End If
End If
Next nom
Bonjour. Est-ce que tu as essayé de l'exécuter en mode pas à pas pour localiser l'anomalie ? Cordialement. Daniel "Maud" a écrit dans le message de news:
bonjour a tous, j'ai une feuille de donnée avec pleins de champs remplis, et je dois ne conserver que certains de ces champs ( pour lesquels la company= a ou b c ou d etc..). Comme je dois alors supprimer les lignes j'ai voulu faire ma procédure de cette manière: si company<>a et <> b et <>c etc... alors suprime moi la ligne sinon va regarder a la ligne du dessous. Quand company = a ou b ou c il va a la ligne du dessous mais le problème c'est que quand c'est différent, il ne fait pas l'action suprimer. Je vous mets mon code, si vous pouvez m'aider merci beaucoup!
For Each nom In Workbooks("reporting_V4").Worksheets("baseERM").Range("nom_projet") t1 = nom.Row chemin3 = Workbooks("reporting_V4").Worksheets("baseERM").Range("R" & t1).Value If chemin3 <> "BDF France (Paris)" And chemin3 <> "BLF (Logistic FR)" And chemin3 <> "BDF UK" And chemin3 <> "BDF AG Hamburg" _ And chemin3 <> "BDF Belgium" And chemin3 <> "LDE (Eucerin FR)" And chemin3 = "BDF Italy" And chemin3 <> "BDF Austria" _ And chemin3 <> "BDF Spain Madrid" And chemin3 <> "All Asian Comp (BASS)" And chemin3 <> "BDF Netherlands" And chemin3 <> "BDF Switzerland" _ And chemin3 <> "BDF Russia" And chemin3 <> "All European companies (BESS)" And chemin3 <> "BSN Medical Hamburg" And chemin3 <> "Florena Waldheim" _ And chemin3 <> "RASGE" And chemin3 <> "BDF France" And chemin3 <> "BSS GmbH" Then nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count For nom3 = nombreligne To 2 Step -1 If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" & nom3) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom3).Delete End If Next nom3 ElseIf chemin3 = "BSS GmbH" Then chemin4 > Workbooks("reporting_V4").Worksheets("baseERM").Range("S" & t1).Value If chemin4 <> "IAPS - All Groups" And chemin4 <> "IAPS - APO/PP" And chemin4 <> "IAPS - BW" And chemin4 <> "IAPS - FI/CO/PS" _ And chemin4 <> "IAPS - HCM" And chemin4 <> "IAPS - LE" And chemin4
"IAPS - MD (PLM)" And chemin4 <> "IAPS - MM" _ And chemin4 <> "IAPS - Non SAP" And chemin4 <> "IAPS - PP-PI" And
chemin4 <> "IAPS - QM" And chemin4 <> "IAPS - SD / EDI" Then nombreligne > Workbooks("reporting_V4").Worksheets("baseERM").UsedRange.Rows.Count For nom4 = nombreligne To 2 Step -1 If Workbooks("reporting_V4").Worksheets("baseERM").Range("A" & nom4) = nom Then
Workbooks("reporting_V4").Worksheets("baseERM").Rows(nom4).Delete End If Next nom4 End If End If Next nom
merci d'avance!
JLuc
Tu devrais deja simplifier l'ecriture pour une meilleur lecture :
Set Wks = Workbooks("reporting_V4").Worksheets("baseERM") For Each nom In Wks.Range("nom_projet") t1 = nom.Row chemin3 = Wks.Range("R" & t1).Value ... ...
-- JLuc
Tu devrais deja simplifier l'ecriture pour une meilleur lecture :
Set Wks = Workbooks("reporting_V4").Worksheets("baseERM")
For Each nom In Wks.Range("nom_projet")
t1 = nom.Row
chemin3 = Wks.Range("R" & t1).Value
...
...
Tu devrais deja simplifier l'ecriture pour une meilleur lecture :
Set Wks = Workbooks("reporting_V4").Worksheets("baseERM") For Each nom In Wks.Range("nom_projet") t1 = nom.Row chemin3 = Wks.Range("R" & t1).Value ... ...
-- JLuc
JLuc
Et simplifier la lecture de ton test : LesCompagnies = Array( _ "BDF France (Paris)", _ "BLF (Logistic FR)", _ "BDF UK", _ "BDF AG Hamburg", _ "BDF Belgium", _ "LDE (Eucerin FR)", _ "BDF Italy", _ "BDF Austria", _ "BDF Spain Madrid", _ "All Asian Comp (BASS)", _ "BDF Netherlands", _ "BDF Switzerland", _ "BDF Russia", _ "All European companies (BESS)", _ "BSN Medical Hamburg", _ "Florena Waldheim", _ "RASGE", _ "BDF France", _ "BSS GmbH")
Flag = False For x = LBound(LesCompagnies) To Ubound(LesCompagnies) If chemin3 = LesCompagnies(x) Then 'Cette compagnie est dans la liste Flag = True End If Next
If Not Flag Then 'Detruire la ligne End If ...
-- JLuc
Et simplifier la lecture de ton test :
LesCompagnies = Array( _
"BDF France (Paris)", _
"BLF (Logistic FR)", _
"BDF UK", _
"BDF AG Hamburg", _
"BDF Belgium", _
"LDE (Eucerin FR)", _
"BDF Italy", _
"BDF Austria", _
"BDF Spain Madrid", _
"All Asian Comp (BASS)", _
"BDF Netherlands", _
"BDF Switzerland", _
"BDF Russia", _
"All European companies (BESS)", _
"BSN Medical Hamburg", _
"Florena Waldheim", _
"RASGE", _
"BDF France", _
"BSS GmbH")
Flag = False
For x = LBound(LesCompagnies) To Ubound(LesCompagnies)
If chemin3 = LesCompagnies(x) Then
'Cette compagnie est dans la liste
Flag = True
End If
Next
Et simplifier la lecture de ton test : LesCompagnies = Array( _ "BDF France (Paris)", _ "BLF (Logistic FR)", _ "BDF UK", _ "BDF AG Hamburg", _ "BDF Belgium", _ "LDE (Eucerin FR)", _ "BDF Italy", _ "BDF Austria", _ "BDF Spain Madrid", _ "All Asian Comp (BASS)", _ "BDF Netherlands", _ "BDF Switzerland", _ "BDF Russia", _ "All European companies (BESS)", _ "BSN Medical Hamburg", _ "Florena Waldheim", _ "RASGE", _ "BDF France", _ "BSS GmbH")
Flag = False For x = LBound(LesCompagnies) To Ubound(LesCompagnies) If chemin3 = LesCompagnies(x) Then 'Cette compagnie est dans la liste Flag = True End If Next