Formule et application VBA

Fermé
cecile - 16 mars 2012 à 16:19
f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 - 16 mars 2012 à 19:01
Bonjour,

Je commence juste à me lancer dans VBA et après pas mal de recherches je bloque sur un point....ma question est sans doute bête mais je vais essayé d'expliquer tout ca clairement...

Je voudrais savoir comment formuler un code en VBA tel que le nombre de lignes où un calcul s'effectue s'adapte automatiquement:

Je m'explique: dans ma feuille "calcul" ma colonne D contient une formule qui calcule à partir de la valeur de la colonne A (de la même ligne). Le nombre de lignes de la colonne A varie selon les cas. Je souhaiterais que la colonne D contiennent automatiquement le même nombre de ligne que la colonne A et que la formule soit active sur toutes ces lignes.

Voici l'essai que j'ai fais mais il ne fonctionne pas...


Sheets("calcul").Activate

Range("D1").AutoFill Destination:=Range("D1:D" & Range("A5000").End(xlUp).Row)
Range("D1").Select

End Sub

Un grand merci à ceux qui pourront m'aider...

Cécile



A voir également:

1 réponse

f894009 Messages postés 17191 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 20 mai 2024 1 707
16 mars 2012 à 19:01
Bonjour,

Sub test2()
With Worksheets("calcul")
'Derniere ligne Colonne A
D_L_A = .Range("A" & Rows.Count).End(xlUp).Row
'Derniere ligne Colonne D
D_L_D = .Range("D" & Rows.Count).End(xlUp).Row
If D_L_A < D_L_D Then
'Effacement des lignes Colonne D en plus des lignes Colonne A
.Range("D" & D_L_A + 1 & ":D" & D_L_D).Clear
Else
'Ecriture Colonne D1 a DD_L_A (D_L_A Nombre de lignes Colonne A)
Set SourceRange = .Range("D1")
Set fillRange = .Range("D1:D" & D_L_A)
SourceRange.AutoFill Destination:=fillRange
End If
End With
End Sub


Bonne suite
0