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
Nicolas B.
Salut Gilles,
Utilise la fonction Left pour tester les trois premiers caractères : if left(activecell.value,3) = "713" then... if not left(activecell.value,3) = "715" then...
A+ Nicolas B.
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par 713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select do while activecell.value<>"" if activecell.value like "715" then Selection.EntireRow.Delete
else
activecell.offset(1,0).select end if loop
mais cela ne marche pas.
merci de votre aide ,
Gilles
Salut Gilles,
Utilise la fonction Left pour tester les trois premiers caractères :
if left(activecell.value,3) = "713" then...
if not left(activecell.value,3) = "715" then...
A+
Nicolas B.
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par
713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select
do while activecell.value<>""
if activecell.value like "715" then
Selection.EntireRow.Delete
Utilise la fonction Left pour tester les trois premiers caractères : if left(activecell.value,3) = "713" then... if not left(activecell.value,3) = "715" then...
A+ Nicolas B.
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par 713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select do while activecell.value<>"" if activecell.value like "715" then Selection.EntireRow.Delete
else
activecell.offset(1,0).select end if loop
mais cela ne marche pas.
merci de votre aide ,
Gilles
anomymousA
bonjour,
quelques petites procédures pour reproduire les critères "contient, contient pas....." du filtre Personnalisé. Dans ce qui suit , on suppose que searchrange est une plage de cellules que tu as définies.Colonne est le N° d'une colonne où tu veux voir s'afficher l'indication que le programme a trouvé des items ayant répondu aux critères.
A+
Sub egala(valeur, colonne)
For Each c2 In searchrange If CStr(c2.Value) = valeur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Next
End Sub Sub differentde(valeur, colonne)
For Each c2 In searchrange If CStr(c2.Value) <> valeur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Next
End Sub Sub estsuperieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value > cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) > cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estsuperieuregala(valeur, colonne)
For Each c2 In searchrange cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value >= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) >= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estinferieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value < cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) < cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estinferieuregala(valeur, colonne)
For Each c2 In searchrange cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value <= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) <= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub commencepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 1 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub necommencepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 1 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub terminepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And Right(c2.Value, Len(CStr(valeur))) = CStr(valeur) Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub neterminepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If (InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) = 0) Or (InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And Right(c2.Value, Len(CStr(valeur))) <> CStr(valeur)) Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub contient(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 0 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub necontientpas(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 0 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par 713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select do while activecell.value<>"" if activecell.value like "715" then Selection.EntireRow.Delete
else
activecell.offset(1,0).select end if loop
mais cela ne marche pas.
merci de votre aide ,
Gilles
bonjour,
quelques petites procédures pour reproduire les critères "contient, contient
pas....." du filtre Personnalisé. Dans ce qui suit , on suppose que
searchrange est une plage de cellules que tu as définies.Colonne est le N°
d'une colonne où tu veux voir s'afficher l'indication que le programme a
trouvé des items ayant répondu aux critères.
A+
Sub egala(valeur, colonne)
For Each c2 In searchrange
If CStr(c2.Value) = valeur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub differentde(valeur, colonne)
For Each c2 In searchrange
If CStr(c2.Value) <> valeur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub estsuperieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur
If IsNumeric(c2) Then
cvaleur = CDbl(valeur)
If c2.Value > cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Else
If CStr(c2.Value) > cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
End If
Next
End Sub
Sub estsuperieuregala(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur
If IsNumeric(c2) Then
cvaleur = CDbl(valeur)
If c2.Value >= cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Else
If CStr(c2.Value) >= cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
End If
Next
End Sub
Sub estinferieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur
If IsNumeric(c2) Then
cvaleur = CDbl(valeur)
If c2.Value < cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Else
If CStr(c2.Value) < cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
End If
Next
End Sub
Sub estinferieuregala(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur
If IsNumeric(c2) Then
cvaleur = CDbl(valeur)
If c2.Value <= cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Else
If CStr(c2.Value) <= cvaleur Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
End If
Next
End Sub
Sub commencepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 1 Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub necommencepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 1 Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub terminepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And
Right(c2.Value, Len(CStr(valeur))) = CStr(valeur) Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub neterminepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If (InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) = 0) Or
(InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And Right(c2.Value,
Len(CStr(valeur))) <> CStr(valeur)) Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub contient(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 0 Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
Sub necontientpas(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 0 Then
ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1
End If
Next
End Sub
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par
713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select
do while activecell.value<>""
if activecell.value like "715" then
Selection.EntireRow.Delete
quelques petites procédures pour reproduire les critères "contient, contient pas....." du filtre Personnalisé. Dans ce qui suit , on suppose que searchrange est une plage de cellules que tu as définies.Colonne est le N° d'une colonne où tu veux voir s'afficher l'indication que le programme a trouvé des items ayant répondu aux critères.
A+
Sub egala(valeur, colonne)
For Each c2 In searchrange If CStr(c2.Value) = valeur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Next
End Sub Sub differentde(valeur, colonne)
For Each c2 In searchrange If CStr(c2.Value) <> valeur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Next
End Sub Sub estsuperieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value > cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) > cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estsuperieuregala(valeur, colonne)
For Each c2 In searchrange cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value >= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) >= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estinferieura(valeur, colonne)
For Each c2 In searchrange
cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value < cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) < cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub estinferieuregala(valeur, colonne)
For Each c2 In searchrange cvaleur = valeur If IsNumeric(c2) Then cvaleur = CDbl(valeur) If c2.Value <= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If Else If CStr(c2.Value) <= cvaleur Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If End If Next
End Sub Sub commencepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 1 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub necommencepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 1 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub terminepar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And Right(c2.Value, Len(CStr(valeur))) = CStr(valeur) Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub neterminepaspar(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If (InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) = 0) Or (InStrRev(c2.Value, CStr(valeur), -1, vbTextCompare) <> 0 And Right(c2.Value, Len(CStr(valeur))) <> CStr(valeur)) Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub contient(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) <> 0 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub Sub necontientpas(valeur, colonne)
On Error Resume Next
For Each c2 In searchrange
If InStr(1, c2.Value, CStr(valeur), vbTextCompare) = 0 Then ThisWorkbook.Sheets(1).Cells(c2.Column, colonne).Value = 1 End If
Next
End Sub
bonjour,
je cherche à supprimer les cellules dans la colonne A qui commence par 713 et une autre qui ne commence par par 715.
idem pour les cellules contenant "714A", idem pour ne contenant pas "DE54"
j'étais parti avec :
range("A1").select do while activecell.value<>"" if activecell.value like "715" then Selection.EntireRow.Delete