Macro Excel VBA - Remplacement d'autofill

Résolu/Fermé
j.l.b Messages postés 3 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 11 mars 2010 - 11 mars 2010 à 10:29
j.l.b Messages postés 3 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 11 mars 2010 - 11 mars 2010 à 14:19
Bonjour,

Voici mon problème :
J'ai réalisé une macro par en enregistrement. A moment donné, j'ai besoin d'effectuer un autofill. Seulement, mon nombre de lignes varie à chaque fois et l'autofill conserve la valeur de l'enregistrement. J'ai donc écris quelques lignes permettant de remplacer cet autofill :

Dim i As Integer
Range("E2").Select
For i = 1 To 5000
If Range("D" & i).Value <> "" Then
Range("E" & i).Value = Range("E2").Formula
Else
Range("E" & i).Value = ""
End If
Next i

La cellule "E2" est une formule : =SI(D2>'Dates Séléct.'!A:A;"OK";"")
Mon problème est que je souhaite que la cellule "E3" soit égale à SI(D3>'Dates Séléct.'!A:A;"OK";""),"E4"=SI(D4>'Dates Séléct.'!A:A;"OK";"") etc etc... Or actuellement les cellules E3, E4... sont toutes égales à SI(D2>'Dates Séléct.'!A:A;"OK";"")

Je pense que le problème se trouve au niveau de "Range("E2").Formula"...

Merci d'avance pour votre aide!

2 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
11 mars 2010 à 11:16
Bonjour,

Pour que l'autofill se fasse automatiquement il est possible de faire un copier coller, par exemple :

For i = 3 To 5000
    If Range("D" & i).Value <> "" Then
        Range("E2").Copy Destination:=Range("E" & i)
    Else
        Range("E" & i).Value = ""
    End If
Next i


A+
0
j.l.b Messages postés 3 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 11 mars 2010
11 mars 2010 à 14:19
Merci Pilas31, ça tourne parfaitement bien!!!
0