OVH Cloud OVH Cloud

mini code à corriger svp

4 réponses
Avatar
Twistal
Hello,

Je vous serai infiniment grée de bien vouloir jeter un oeil à ces quelques
lignes de VBA et de me dire comment corriger ma bourde.
SI quelqu'un se sent l'âme prolixe je lirai avec interet ses explications
supplémentaires, mais d'avoir un code correct serait déjà super.
merci à tous,

Sub MiseEnForme()
Dim couleur As Integer

For Each c In Range("E8:E1200")

couleur = Range(c.Address).Font.ColorIndex

If c.Font.ColorIndex <> 6 Then
Range(c).Select
Selection.ClearContents
End If
Next

End Sub

4 réponses

Avatar
Modeste
Bonsour® Twistal avec ferveur ;o))) vous nous disiez :

Je vous serai infiniment grée de bien vouloir jeter un oeil à ces quelques
lignes de VBA et de me dire comment corriger ma bourde.


quelle bourde ???
que veux tu faire ???

SI quelqu'un se sent l'âme prolixe je lirai avec interet ses explications
supplémentaires, mais d'avoir un code correct serait déjà super.
merci à tous,

cette macro est non opérationnelle sur les MEFC !!!

elle efface le contenu des cellules dont la couleur de police est differente
de "jaune" (ColorIndex<>6)

Sub MiseEnForme()
Dim couleur As Integer
For Each c In Range("E8:E1200")
' cette variable n'est pas utilisée localement !!!!
' xxxxxxxxxxxxxx couleur = Range(c.Address).Font.ColorIndex
If c.Font.ColorIndex <> 6 Then
' le select est inutile ....
' xxxxxxxxxxxxx Range(c).Select
' xxxxxxxxxxxxx Selection.ClearContents
c.ClearContents
End If
Next

End Sub


--
--
@+
;o)))

Avatar
Daniel
Bonjour.

Sub MiseEnForme()

For Each c In Range("E8:E1200")

If c.Font.ColorIndex <> 6 Then
c.ClearContents
End If

Next

End Sub

Cordialement.
Daniel
"Twistal" a écrit dans le message de
news:
Hello,

Je vous serai infiniment grée de bien vouloir jeter un oeil à ces quelques
lignes de VBA et de me dire comment corriger ma bourde.
SI quelqu'un se sent l'âme prolixe je lirai avec interet ses explications
supplémentaires, mais d'avoir un code correct serait déjà super.
merci à tous,

Sub MiseEnForme()
Dim couleur As Integer

For Each c In Range("E8:E1200")

couleur = Range(c.Address).Font.ColorIndex

If c.Font.ColorIndex <> 6 Then
Range(c).Select
Selection.ClearContents
End If
Next

End Sub


Avatar
Ardus Petus
Je suppose que tu veux effacer les cellules de E8:E12000 dont la couleur de
police n'est pas 6

Ta variable couleur est initialisée, mais pas utilisée par la suite
La variable c n'est pas déclarée: Dim c as Range.
Tu n'es pas obligé de sélectionner la cellule courante.
Tu gagneras du temps (et des frappes clavier) en utilisant l'instruction
With

Je propose:
Sub MiseEnForme()
Dim c as Range

For Each c In Range("E8:E1200")
With c
if .Font.ColorIndex <> 6 then
.ClearContents
end if
End With
Next c

End Sub

Cordialement,
--
AP

"Twistal" a écrit dans le message de
news:
Hello,

Je vous serai infiniment grée de bien vouloir jeter un oeil à ces quelques
lignes de VBA et de me dire comment corriger ma bourde.
SI quelqu'un se sent l'âme prolixe je lirai avec interet ses explications
supplémentaires, mais d'avoir un code correct serait déjà super.
merci à tous,

Sub MiseEnForme()
Dim couleur As Integer

For Each c In Range("E8:E1200")

couleur = Range(c.Address).Font.ColorIndex

If c.Font.ColorIndex <> 6 Then
Range(c).Select
Selection.ClearContents
End If
Next

End Sub


Avatar
papou
Bonjour
??
dim c as range
For Each c In Range("E8:E1200")
If c.Font.ColorIndex <> 6 Then
c.ClearContents
End If
Next c

Cordialement
Pascal


"Twistal" a écrit dans le message de
news:
Hello,

Je vous serai infiniment grée de bien vouloir jeter un oeil à ces quelques
lignes de VBA et de me dire comment corriger ma bourde.
SI quelqu'un se sent l'âme prolixe je lirai avec interet ses explications
supplémentaires, mais d'avoir un code correct serait déjà super.
merci à tous,

Sub MiseEnForme()
Dim couleur As Integer

For Each c In Range("E8:E1200")

couleur = Range(c.Address).Font.ColorIndex

If c.Font.ColorIndex <> 6 Then
Range(c).Select
Selection.ClearContents
End If
Next

End Sub