Recopie avec conditions

Bonjour,

J'aimerais faire une opération sur une range de cellule mais uniquement si cette range est différente de 5

voila le code

Dim i As Integer

For i = 4 To 48 Step 4
Range(Cells(5, i), Cells(41, i)).FormulaR1C1 = "=if(RC[-1]="""","""",2)"

Next i

donc ici on va écrire une formule dans la cellule D5 à D42, puis H5 à H41 ETC ...

le problème c'est que je voudrais faire cette opération uniquement si les valeurs préalables des cellules D5 à D42 ... sont différente de "5"; (en vérifiant cette condition pour chaque cellule de D5 à D42 ....)

je vous joint un fichier exemple.

15exemple-jere.xlsm (69.54 Ko)

Bonjour,

Vite fait... Essaie comme ceci, le code est un peu lent toutefois (vu les boucles)

Sub tes()
'Macro Dan pour jeremy
Dim i As Integer, j As Integer
Range(Cells(5, 4), Cells(41, 4)).FormulaR1C1 = "=if(RC[-1]="""","""",2)"
For i = 8 To 48 Step 4
    For j = 5 To 41
        If Cells(j, 4) <> 5 Then Cells(j, i).FormulaR1C1 = "=if(RC[-1]="""","""",2)"
    Next
Next i
End Sub

Il serait intéressant de dire quelle est la condition pour avoir le chiffre 5 dans la colonne D

Amicalement

pour le chiffre 5 il est rentré manuellement sur une autre feuille puis est copié ici.

merci c'est ce que je cherchais mais j'avais du mal avec la double boucle a 2 variables

J'ai modifié un peu ton code mais ca a finit par fonctionner

    Dim i As Integer, j As Integer
    For i = 4 To 48 Step 4
        For j = 5 To 41
            If Cells(j, i) <> 5 Then Cells(j, i).FormulaR1C1 = "=if(RC[-1]="""","""",2)"
        Next
    Next i

Re,

pour le chiffre 5 il est rentré manuellement sur une autre feuille puis est copié ici.

Ok je vois. Raison our laquelle j'avais mis en première ligne du code une instruction pour compléter d'abord la colonne D

Si tu la remplis manuellement, cette instruction ne sert pas et peut, comme tu l'as fait, être supprimée

N'oublie pas de cloturer le fil ... clique sur le V vert à coté du bouton editer

Amicalement

Rechercher des sujets similaires à "recopie conditions"