Remplir les cellules par macro

Bonjour,

Je cherche à remplir une plage de cellules en fonction d'une autre plage via une macro en fonction.

Dans mon fichier d'essai, j'arrive à compléter toute la plage F5:F20 mais je n'arrive pas à compléter que si les cellules de la plage D5:D20 ne sont pas vide.

Bonsoir,

Un exemple.

Cdlt

Public Sub Traitement()
Dim Cel As Range
    For Each Cel In Range("D5:D20")
        If Not IsEmpty(Cel) Then Cel.Offset(0, 2) = "Test"
    Next
End Sub

Yes, c'est exactement ce que je cherchais.

Merci beaucoup Jean-Eric.

Re,

Clos le sujet

Cdlt.

En reprenant ton exemple dans un autre tableau, j'ai tenté d'appliquer mais le problème c'est que les cellules de la colonne D contiennent des formules par conséquent elles ne sont pas vide. du coup isEmpty ne peu pas fonctionner.

Par quoi je peux remplacer pour que ça fonctionne ?

Bonsoir,

Essaie:

Public Sub Traitement()
Dim Cel As Range
    For Each Cel In Range("D5:D20")
        If Cel<>"" Then Cel.Offset(0, 2) = "Test"
    Next
End Sub
 

Merci, ta solution fonctionne mais elle rame dure pour une si petit plage

Y aurait il une solution plus rapide ?

Re,

Chez moi le résultat est instantané, mais tu peux ajouter la parti surlignée.

Sub Traitement()
Dim Cel As Range
    Application.ScreenUpdating = False
    Range("F5:F20").ClearContents
    For Each Cel In Range("D5:D20")
        If Cel <> "" Then Cel.Offset(0, 2) = "Test"
    Next
End Sub

Juste parfait, merci pour tout.

Rechercher des sujets similaires à "remplir macro"