Comparer la valeur d'une cellule

rox -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai une liste de données à trou, je voudrais que faire une autre liste reprenant les données en supprimant les cases vides. Je précise que je ne suis pas très forte en VB.

J'ai marqué ceci :

Sub test()

Dim i As Long

Range("C73").Select 'je sélectionne la case où je veux commencer
For i = 3 To 73 Step 1
if range("R[-i]C").Value="" 'si la case est vide alors je passe à la suivante
Then Next i

Else: ActiveCell.FormulaR1C1 = "=R[-i]C" 'sinon je met la valeur de la case

End Sub

J'ai un problème avec le if, il me dit qu'il attend un Then alors qu'il y en a...
Avez vous une idée pour moi?
Merci d'avance!
Rox

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    en fait c'est ton for qui n'a pas de next si tu passes par le else...

    essaie avec ça :
    Sub test()
        Dim i As Long
        Range("C73").Select    'je sélectionne la case où je veux commencer
        For i = 3 To 73 Step 1
            If Range("R[i]C").Value = "" Then   
                Range("R[i]C").FormulaR1C1 = "=R[-i]C"    'sinon je met la valeur de la case
            End If
        Next i
    End Sub

    Tu ne supprimes pas les cellules vides, tu les remplis !
    Tu ne mets pas une valeur mais une formule !
    D'origine tu ne remplissais que C73 puisque c'est le seul select et tu faisais . select =...

    En gros utilises les bons termes car là on ne sait pas du tout ce que tu veux et ce qui est bon.

    eric
    0