Vba excel 2003remplacement d'une valeur par une autre sous condition

cs_desmamaout Messages postés 1 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2010 - 30 août 2010 à 15:24
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 21 sept. 2010 à 11:01
bonjour, je cherche à faire fonctionner ce code vba sous excel 2003:

Sub Conversion()
Application.ScreenUpdating = False
Range("C7:BB38").Select 'selection des cellules
For Each Cell In Selection
If Cell.Value = "P" Then
If Cells(4, Cell.Column).Value < Range("BE1").Value Then
Cell.Value = "FV"
Cell.Interior.ColorIndex = 3
Else
End If
Else
End If
Next Cell
[A1].Select
End Sub

ligne c4:bb4 n° de semaine
cellule c5:bb490 cellule recevant soit un "p" soit un "r", ces cellules sont au format conditionnel : si "p" couleur bleu si "r" couleur vert
cellule be1 le n° de semaine en cours
en vba si dans les colonnes sous les n° de semaine inférieur à la semaine en cours "be1",alors remplacer tous les "p" par "fv"intérieur rouge.Les cellules "r" vertes ne changeant pas.
le but faire ressortir toutes les cellules "p" pour prévision qui ont dépassées la date par "fv" fin de validité en rouge;
merci d'avance et bonne journée.
bernard

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
21 sept. 2010 à 11:01
Bonjour,

21 jours après .. (mieux vaut tard que jamais ) voici enfin une réponse :

J'ai testé ton code après avoir apporté quelques petites modifications et il a l'air de bien fonctionner :
Sub Conversion()
Application.ScreenUpdating = False
Range("C7:BB38").Select 'selection des cellules
For Each Cell In Selection
    test = UCase(Cell.Value)
    If UCase(Cell.Value) = "P" Then
    test2 = Cells(4, Cell.Column).Value
    TestBE1 = Range("BE1").Value
        If test2 < TestBE1 Then
            Cell.Value = "FV"
            Cell.Interior.ColorIndex = 3
        End If
    End If
Next Cell
Range("A1").Select
End Sub


J'ai supprimé les "ELSE" inutiles.
Au cas où, je fais la comparaison sur le "P" après avoir "converti" la valeur de la cellule en majuscule ( ucase(...))


Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous