FOR EACH

Le
IMER09
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est ""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D ("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #4867151
Bonjour,
Range("SOLDE").Formula = ""
demande d'effacer les formules de la plage DATE, c'est donc normal
Pour n'effacer que la formule située en regard de celle du champ DATE si
elle est vide, le code devra être revu ainsi :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3).Formula = ""
End If
Next

--
Philippe.R
"IMER09" news:
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09


Daniel
Le #4867091
Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile de
continuer la boucle. Si tu veux effacer la cellule correspondante de SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09"
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09


IMER09
Le #4867061
Merci Philippe.R

mais sans Exit Sub je suis obliger de quitter par Alt ctrl Suppr, et avec
Exit Sub
J' efface que la formule de la premiere cellule trouver
--
IMER09



Bonjour,
Range("SOLDE").Formula = ""
demande d'effacer les formules de la plage DATE, c'est donc normal
Pour n'effacer que la formule située en regard de celle du champ DATE si
elle est vide, le code devra être revu ainsi :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3).Formula = ""
End If
Next

--
Philippe.R
"IMER09" news:
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09






IMER09
Le #4867041
autant pour moi je n'etait pas assez patient pas besoin de Alt Ctrl Suppr
--
IMER09



Bonjour,
Range("SOLDE").Formula = ""
demande d'effacer les formules de la plage DATE, c'est donc normal
Pour n'effacer que la formule située en regard de celle du champ DATE si
elle est vide, le code devra être revu ainsi :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3).Formula = ""
End If
Next

--
Philippe.R
"IMER09" news:
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09






IMER09
Le #4867011
En fait c'est tres long meme en diminuant ma selection a 5000 Cell
Comment diminuer ce temps ?
Merci
--
IMER09



Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile de
continuer la boucle. Si tu veux effacer la cellule correspondante de SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09"
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09







Daniel
Le #4866951
Essaie :
Sub test()
Dim c As Range, ResAdr As String
Set c = Range("DATE").Find("", , , xlWhole)
Var = c.Address
If Not c Is Nothing Then ResAdr = c.Address
Do
c.Offset(, 3) = ""
Set c = Range("DATE").FindNext(c)
Loop While Not c Is Nothing And c.Address <> ResAdr
End Sub
Daniel
"IMER09"
En fait c'est tres long meme en diminuant ma selection a 5000 Cell
Comment diminuer ce temps ?
Merci
--
IMER09



Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la
plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile de
continuer la boucle. Si tu veux effacer la cellule correspondante de
SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09"
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE")
est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09









Ellimac
Le #4866941
Bonjour,

Une solution ultra rapide, sélection des cellules vides en A et effacement
des cellules correspondantes en D :

Sub Macro1()
Columns("A:A").SpecialCells(xlCellTypeBlanks).Offset(, 3).ClearContents
End Sub

Camille

"IMER09" wrote:

En fait c'est tres long meme en diminuant ma selection a 5000 Cell
Comment diminuer ce temps ?
Merci
--
IMER09



Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile de
continuer la boucle. Si tu veux effacer la cellule correspondante de SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09"
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE") est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09









IMER09
Le #4866831
Un grand merci à vous tous c'est parfait
--
IMER09



Essaie :
Sub test()
Dim c As Range, ResAdr As String
Set c = Range("DATE").Find("", , , xlWhole)
Var = c.Address
If Not c Is Nothing Then ResAdr = c.Address
Do
c.Offset(, 3) = ""
Set c = Range("DATE").FindNext(c)
Loop While Not c Is Nothing And c.Address <> ResAdr
End Sub
Daniel
"IMER09"
En fait c'est tres long meme en diminuant ma selection a 5000 Cell
Comment diminuer ce temps ?
Merci
--
IMER09



Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la
plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile de
continuer la boucle. Si tu veux effacer la cellule correspondante de
SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09"
Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si A("DATE")
est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09














Philippe.R
Le #4866731
Pour ma part c'était avec plaisir, d'autant que j'en ai profité pour
m'enrichir de la solution d'Ellimac
;o)))
--
Philippe.R
"IMER09" news:
Un grand merci à vous tous c'est parfait
--
IMER09



Essaie :
Sub test()
Dim c As Range, ResAdr As String
Set c = Range("DATE").Find("", , , xlWhole)
Var = c.Address
If Not c Is Nothing Then ResAdr = c.Address
Do
c.Offset(, 3) = ""
Set c = Range("DATE").FindNext(c)
Loop While Not c Is Nothing And c.Address <> ResAdr
End Sub
Daniel
"IMER09"
En fait c'est tres long meme en diminuant ma selection a 5000 Cell
Comment diminuer ce temps ?
Merci
--
IMER09



Bonjour.
Pour répondre à ta question, non, mais c'est logique, parce que, si la
plage
SOLDE est effacée une fois, le travail est fait, donc il est inutile
de
continuer la boucle. Si tu veux effacer la cellule correspondante de
SOLDE
(colonne D ?) quand la cellule de DATE (colonne A ?) est égale à "" :

For Each cell In Range("DATE")
If cell.Value = "" Then
cell.Offset(0, 3) = ""
End If
Next

Cordialement.
Daniel
"IMER09" news:

Bonjour à tous

J'ai des formules dans D("SOLDE") je voudrai les effacer si
A("DATE")
est
""

J' ai utilise ce qui suis mais ça m'efface tout ce qu'il y a en D
("SOLDE").
Exit Sub est il obligatoire ?

For Each cell In Range("DATE")
If cell.Value = "" Then
Range("SOLDE").Formula = ""


Exit Sub
End If
Next

Merci d'avance
--
IMER09
















Publicité
Poster une réponse
Anonyme