Comparer la valeur d'une cellule

rox -  
eriiic Messages postés 25847 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

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
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