Etant complément débutant en VBA, je demande votre aide.
J'ai trouvé une macro pour remplacer les cellules vide par une valeur :
VB:
Sub CelluleVide()
Dim plage As Range
Set plage = [E9:E3000]
For Each cell In plage
If IsEmpty(cell) Then cell.Value = "Ressource"
Next
End Sub
Par contre j'aimerai ajouter une condition, pour remplacer la cellule vide par le mot "Ressource", il faut que la cellule soit vide et que la cellule dans la colonne C ne soit pas vide.
Exemple :
C2 = Vide et E2 = Vide -> Alors on ne touche pas à E2
C3 = "dsqdsq" et E3 = Vide -> Alors on remplace E3 par "ressource"
C4 = "sqlazl" et E4 = "fmqmfp" -> Alors on ne touche à rien
Il manque un cas, quand E2 est Vide et E3 n'est pas vide. Je n'ai donc pas traité ce cas.
Tu trouveras un fichier test joint.
VB:
Sub RemplacerCell()
For i = 9 To 3000 'Correspond à ta plage E9:E3000
If (Cells(i, "C") <> "" And Cells(i, "E") = "") Then
Cells(i, "E") = "ressource"
End If
Next
End Sub
Sub test()
Dim t, i&
With ActiveSheet.Range("c9:e3000")
t = .Value
For i = 1 To UBound(t)
If Len(t(i, 1)) <> 0 And Len(t(i, 3)) = 0 Then t(i, 3) = "Ressource"
Next i
.Columns(3) = Application.Index(t, 0, 3)
End With
End Sub