Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sup cellule

7 réponses
Avatar
Manu
Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il à
f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com

7 réponses

Avatar
DanielCo
Bonjour,
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
Plage.ClearContents
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il à f
de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
Manu
Très loin de ce dont je pensais.

Merci Daniel


"DanielCo" a écrit dans le message de groupe de discussion :
lv75dh$art$

Bonjour,
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
Plage.ClearContents
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il
à f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com




---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
Manu
Il y a tout de même un soucis, si il n'y a pas de cellule "f" la macro
supprime toutes les autres (ce qui est logique car si il ne trouve pas de
"f" avec les filtres, il ne filtre pas et supprime ce qu'il reste c'est à
dire tout), et ça il ne faut absolument pas. Comment faire ? Merci

Manu

"Manu" a écrit dans le message de groupe de discussion :
lv76ar$db7$


Très loin de ce dont je pensais.

Merci Daniel


"DanielCo" a écrit dans le message de groupe de discussion :
lv75dh$art$

Bonjour,
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
Plage.ClearContents
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il
à f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com




---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
DanielCo
Juste.
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
If Application.Subtotal(103, Plage) > 0 Then
Plage.ClearContents
End If
End Sub
Daniel


Il y a tout de même un soucis, si il n'y a pas de cellule "f" la macro
supprime toutes les autres (ce qui est logique car si il ne trouve pas de "f"
avec les filtres, il ne filtre pas et supprime ce qu'il reste c'est à dire
tout), et ça il ne faut absolument pas. Comment faire ? Merci

Manu

"Manu" a écrit dans le message de groupe de discussion :
lv76ar$db7$


Très loin de ce dont je pensais.

Merci Daniel


"DanielCo" a écrit dans le message de groupe de discussion :
lv75dh$art$

Bonjour,
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
Plage.ClearContents
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il à
f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com




---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
Manu
Merci Daniel,

ca fonctionne parfaitement !!! Il faut absolument que je prenne une
formation VBA...

j'ai une autre question mais le sujet est diffèrent, j'ouvrirais une
nouvelle ficelle.

Bonne soirée

Manu

le message de groupe de discussion : lv78vu$k9h$

Juste.
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
If Application.Subtotal(103, Plage) > 0 Then
Plage.ClearContents
End If
End Sub
Daniel


Il y a tout de même un soucis, si il n'y a pas de cellule "f" la macro
supprime toutes les autres (ce qui est logique car si il ne trouve pas de
"f" avec les filtres, il ne filtre pas et supprime ce qu'il reste c'est à
dire tout), et ça il ne faut absolument pas. Comment faire ? Merci

Manu

"Manu" a écrit dans le message de groupe de discussion :
lv76ar$db7$


Très loin de ce dont je pensais.

Merci Daniel


"DanielCo" a écrit dans le message de groupe de discussion :
lv75dh$art$

Bonjour,
Sub test3()
Dim Plage As Range
[D1:D20000].AutoFilter 1, "f"
Set Plage = ActiveSheet.AutoFilter.Range.Offset(1)
Set Plage = Plage.Resize(Plage.Rows.Count - 1)
Plage.ClearContents
End Sub
Cordialement.
Daniel


Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où il
à f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com




---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com




---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Avatar
FxM
Bonjour,

Avec la solution pré-digérée qui marche, as-tu compris pourquoi cette
version ne marchait pas vraiment ?

If UCase(C) = "f" Then


compare quelque chose en majuscule ucase(...) à quelque chose en
minuscule "f". Rien ne peut correspondre.

If UCase(C) = Ucase("f") Then devrait marcher puisque tout est en
majuscule. Reste que cela va être d'une lenteur effroyable.


@+
FxM




Le 15/09/2014 18:34, Manu a écrit :
Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où
il à f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu

---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com

Avatar
Manu
Merci Fx, je n'avais pas compris. J'en prend note.

Manu

"FxM" a écrit dans le message de groupe de discussion :
lve98p$97u$

Bonjour,

Avec la solution pré-digérée qui marche, as-tu compris pourquoi cette
version ne marchait pas vraiment ?

If UCase(C) = "f" Then


compare quelque chose en majuscule ucase(...) à quelque chose en
minuscule "f". Rien ne peut correspondre.

If UCase(C) = Ucase("f") Then devrait marcher puisque tout est en
majuscule. Reste que cela va être d'une lenteur effroyable.


@+
FxM




Le 15/09/2014 18:34, Manu a écrit :
Bonjour,

Je souhaite tout simplement effacer toutes les cellules de la col D où
il à f de taper (peu importe la casse).

Je bidouille avec cela, mais ca ne fonctionne pas :
Sub supF()
For Each C In [d2:d2000]
If UCase(C) = "f" Then
Cells.ClearContents
End If
Next C
End Sub

que me manque t'il. Vraiment pas facile le vba....

Merci

Manu

---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com





---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com