Bjr =E0 toutes & tous,
J'ai un petit souci sur un delete. je balaye l'ensemble=20
d'1 feuille et je supprime des lignes qui correspondent =E0=20
un critere pr=E9cis.
Mon souci : A parir du moment ou je trouve la 1ere ligne =E0=20
supprimer, il me supprime toutes les lignes derriere (pb=20
du certainement au i=3Dwi-1). Si je le met en commentaire=20
l'=E9puration est incomplete et je dois repasser x fois pour=20
=E9puerer l'ensemble de mon fichier!!!
Merci pour votre aide pr=E9cieuse
Perrine
....................................
Wi =3D 1
Set Ws =3D Workbooks("Candidatures.xls").Sheets(1).Cells(1,=20
1)
With Ws
Do Until IsEmpty(.Cells(Wi, 1))
Application.StatusBar =3D "Veuillez patienter... " & Wi - 1=20
& " Trouv=E9 : " & Wt
If .Cells(Wi, 9) =3D "CDI" Then
If (.Cells(Wi, 15) + 15) < CDate(Now()) Then
Wt =3D Wt + 1
=20
Workbooks("CDI.xls").Sheets(1).Activate
Rows("2:2").Select
Selection.Insert Shift:=3DxlDown
Wy =3D 1
Do While Wy < 50
Workbooks("CDI.xls").Sheets(1).Cells(2, Wy)=20
=3D .Cells(Wi, Wy)
Wy =3D Wy + 1
Loop
.Rows(Wi).Delete
Wi =3D Wi - 1
End If
End If
F900:
Wi =3D Wi + 1
Loop
End With
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
Pierre Fauconnier
Bonjour Perrine,
Lorsque tu supprimes des lignes dans une procédure, commence toujours par le bas de ta feuille et remonte. Ainsi, tu pourras balayer une seule fois ta feuille pour supprimer tes lignes. Lorsque tu commences à balayer par le haut, la suppression d'une ligne décale les lignes situées EN DESSOUS et tu risques donc de ne pas balayer toutes tes lignes...
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" a écrit dans le message de news:3c9d01c4af5e$c8ded590$ Bjr à toutes & tous, J'ai un petit souci sur un delete. je balaye l'ensemble d'1 feuille et je supprime des lignes qui correspondent à un critere précis. Mon souci : A parir du moment ou je trouve la 1ere ligne à supprimer, il me supprime toutes les lignes derriere (pb du certainement au i=wi-1). Si je le met en commentaire l'épuration est incomplete et je dois repasser x fois pour épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse Perrine .................................... Wi = 1 Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1, 1) With Ws Do Until IsEmpty(.Cells(Wi, 1)) Application.StatusBar = "Veuillez patienter... " & Wi - 1 & " Trouvé : " & Wt If .Cells(Wi, 9) = "CDI" Then If (.Cells(Wi, 15) + 15) < CDate(Now()) Then Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate Rows("2:2").Select Selection.Insert Shift:=xlDown Wy = 1 Do While Wy < 50 Workbooks("CDI.xls").Sheets(1).Cells(2, Wy) = .Cells(Wi, Wy) Wy = Wy + 1 Loop .Rows(Wi).Delete Wi = Wi - 1 End If End If F900: Wi = Wi + 1 Loop End With
Bonjour Perrine,
Lorsque tu supprimes des lignes dans une procédure, commence toujours par le
bas de ta feuille et remonte. Ainsi, tu pourras balayer une seule fois ta
feuille pour supprimer tes lignes.
Lorsque tu commences à balayer par le haut, la suppression d'une ligne
décale les lignes situées EN DESSOUS et tu risques donc de ne pas balayer
toutes tes lignes...
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:3c9d01c4af5e$c8ded590$a601280a@phx.gbl...
Bjr à toutes & tous,
J'ai un petit souci sur un delete. je balaye l'ensemble
d'1 feuille et je supprime des lignes qui correspondent à
un critere précis.
Mon souci : A parir du moment ou je trouve la 1ere ligne à
supprimer, il me supprime toutes les lignes derriere (pb
du certainement au i=wi-1). Si je le met en commentaire
l'épuration est incomplete et je dois repasser x fois pour
épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse
Perrine
....................................
Wi = 1
Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1,
1)
With Ws
Do Until IsEmpty(.Cells(Wi, 1))
Application.StatusBar = "Veuillez patienter... " & Wi - 1
& " Trouvé : " & Wt
If .Cells(Wi, 9) = "CDI" Then
If (.Cells(Wi, 15) + 15) < CDate(Now()) Then
Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Wy = 1
Do While Wy < 50
Workbooks("CDI.xls").Sheets(1).Cells(2, Wy)
= .Cells(Wi, Wy)
Wy = Wy + 1
Loop
.Rows(Wi).Delete
Wi = Wi - 1
End If
End If
F900:
Wi = Wi + 1
Loop
End With
Lorsque tu supprimes des lignes dans une procédure, commence toujours par le bas de ta feuille et remonte. Ainsi, tu pourras balayer une seule fois ta feuille pour supprimer tes lignes. Lorsque tu commences à balayer par le haut, la suppression d'une ligne décale les lignes situées EN DESSOUS et tu risques donc de ne pas balayer toutes tes lignes...
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" a écrit dans le message de news:3c9d01c4af5e$c8ded590$ Bjr à toutes & tous, J'ai un petit souci sur un delete. je balaye l'ensemble d'1 feuille et je supprime des lignes qui correspondent à un critere précis. Mon souci : A parir du moment ou je trouve la 1ere ligne à supprimer, il me supprime toutes les lignes derriere (pb du certainement au i=wi-1). Si je le met en commentaire l'épuration est incomplete et je dois repasser x fois pour épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse Perrine .................................... Wi = 1 Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1, 1) With Ws Do Until IsEmpty(.Cells(Wi, 1)) Application.StatusBar = "Veuillez patienter... " & Wi - 1 & " Trouvé : " & Wt If .Cells(Wi, 9) = "CDI" Then If (.Cells(Wi, 15) + 15) < CDate(Now()) Then Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate Rows("2:2").Select Selection.Insert Shift:=xlDown Wy = 1 Do While Wy < 50 Workbooks("CDI.xls").Sheets(1).Cells(2, Wy) = .Cells(Wi, Wy) Wy = Wy + 1 Loop .Rows(Wi).Delete Wi = Wi - 1 End If End If F900: Wi = Wi + 1 Loop End With
Ok merci, donc je traite de bas en haut c'est top sauf que je ne supprime pas de ligne je met à blanc la colonne A des lignes correspondantes (à partir du script transmis !!! =) Merci
-----Message d'origine----- Bonjour Perrine,
Lorsque tu supprimes des lignes dans une procédure, commence toujours par le
bas de ta feuille et remonte. Ainsi, tu pourras balayer une seule fois ta
feuille pour supprimer tes lignes. Lorsque tu commences à balayer par le haut, la suppression d'une ligne
décale les lignes situées EN DESSOUS et tu risques donc de ne pas balayer
toutes tes lignes...
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" a écrit dans le message de
news:3c9d01c4af5e$c8ded590$ Bjr à toutes & tous, J'ai un petit souci sur un delete. je balaye l'ensemble d'1 feuille et je supprime des lignes qui correspondent à un critere précis. Mon souci : A parir du moment ou je trouve la 1ere ligne à supprimer, il me supprime toutes les lignes derriere (pb du certainement au i=wi-1). Si je le met en commentaire l'épuration est incomplete et je dois repasser x fois pour épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse Perrine ..................................... Wi = 1 Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1, 1) With Ws Do Until IsEmpty(.Cells(Wi, 1)) Application.StatusBar = "Veuillez patienter... " & Wi - 1 & " Trouvé : " & Wt If .Cells(Wi, 9) = "CDI" Then If (.Cells(Wi, 15) + 15) < CDate(Now()) Then Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate Rows("2:2").Select Selection.Insert Shift:=xlDown Wy = 1 Do While Wy < 50 Workbooks("CDI.xls").Sheets(1).Cells(2, Wy) = .Cells(Wi, Wy) Wy = Wy + 1 Loop .Rows(Wi).Delete Wi = Wi - 1 End If End If F900: Wi = Wi + 1 Loop End With
.
Ok merci, donc je traite de bas en haut c'est top sauf que
je ne supprime pas de ligne je met à blanc la colonne A
des lignes correspondantes (à partir du script transmis !!!
=)
Merci
-----Message d'origine-----
Bonjour Perrine,
Lorsque tu supprimes des lignes dans une procédure,
commence toujours par le
bas de ta feuille et remonte. Ainsi, tu pourras balayer
une seule fois ta
feuille pour supprimer tes lignes.
Lorsque tu commences à balayer par le haut, la
suppression d'une ligne
décale les lignes situées EN DESSOUS et tu risques donc
de ne pas balayer
toutes tes lignes...
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:3c9d01c4af5e$c8ded590$a601280a@phx.gbl...
Bjr à toutes & tous,
J'ai un petit souci sur un delete. je balaye l'ensemble
d'1 feuille et je supprime des lignes qui correspondent à
un critere précis.
Mon souci : A parir du moment ou je trouve la 1ere ligne à
supprimer, il me supprime toutes les lignes derriere (pb
du certainement au i=wi-1). Si je le met en commentaire
l'épuration est incomplete et je dois repasser x fois pour
épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse
Perrine
.....................................
Wi = 1
Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1,
1)
With Ws
Do Until IsEmpty(.Cells(Wi, 1))
Application.StatusBar = "Veuillez patienter... " & Wi - 1
& " Trouvé : " & Wt
If .Cells(Wi, 9) = "CDI" Then
If (.Cells(Wi, 15) + 15) < CDate(Now()) Then
Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate
Rows("2:2").Select
Selection.Insert Shift:=xlDown
Wy = 1
Do While Wy < 50
Workbooks("CDI.xls").Sheets(1).Cells(2, Wy)
= .Cells(Wi, Wy)
Wy = Wy + 1
Loop
.Rows(Wi).Delete
Wi = Wi - 1
End If
End If
F900:
Wi = Wi + 1
Loop
End With
Ok merci, donc je traite de bas en haut c'est top sauf que je ne supprime pas de ligne je met à blanc la colonne A des lignes correspondantes (à partir du script transmis !!! =) Merci
-----Message d'origine----- Bonjour Perrine,
Lorsque tu supprimes des lignes dans une procédure, commence toujours par le
bas de ta feuille et remonte. Ainsi, tu pourras balayer une seule fois ta
feuille pour supprimer tes lignes. Lorsque tu commences à balayer par le haut, la suppression d'une ligne
décale les lignes situées EN DESSOUS et tu risques donc de ne pas balayer
toutes tes lignes...
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Perrine" a écrit dans le message de
news:3c9d01c4af5e$c8ded590$ Bjr à toutes & tous, J'ai un petit souci sur un delete. je balaye l'ensemble d'1 feuille et je supprime des lignes qui correspondent à un critere précis. Mon souci : A parir du moment ou je trouve la 1ere ligne à supprimer, il me supprime toutes les lignes derriere (pb du certainement au i=wi-1). Si je le met en commentaire l'épuration est incomplete et je dois repasser x fois pour épuerer l'ensemble de mon fichier!!!
Merci pour votre aide précieuse Perrine ..................................... Wi = 1 Set Ws = Workbooks("Candidatures.xls").Sheets(1).Cells(1, 1) With Ws Do Until IsEmpty(.Cells(Wi, 1)) Application.StatusBar = "Veuillez patienter... " & Wi - 1 & " Trouvé : " & Wt If .Cells(Wi, 9) = "CDI" Then If (.Cells(Wi, 15) + 15) < CDate(Now()) Then Wt = Wt + 1
Workbooks("CDI.xls").Sheets(1).Activate Rows("2:2").Select Selection.Insert Shift:=xlDown Wy = 1 Do While Wy < 50 Workbooks("CDI.xls").Sheets(1).Cells(2, Wy) = .Cells(Wi, Wy) Wy = Wy + 1 Loop .Rows(Wi).Delete Wi = Wi - 1 End If End If F900: Wi = Wi + 1 Loop End With