Autofill de formules

Résolu
dartagnian81 Messages postés 8 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 15 novembre 2006 - 18 sept. 2006 à 16:37
dartagnian81 Messages postés 8 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 15 novembre 2006 - 19 sept. 2006 à 15:11
salut
c'est une question plus que basique mais qui me pose quelques problèmes, à moi qui n'utilise qeu très raremetn VBA.

Je fais une petite macro pour remplir un tableau
la première cellule contient une formule (faisant référence aux cellules d'une autre colonne) que je veux étendre aux cellules suivantes de la colonne, seulement la dernière cellule de destination varie selon la longueur de la colonne de référence.

il faudrait juste que je puisse remplacer E19 par un cells(4,i) i variant selon les cas, dans : 
Selection.AutoFill Destination:=Range("E7:E19"), Type:=xlFillDefault

un idée ?
merci !

4 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
18 sept. 2006 à 16:42
Et un truc du genre Selection.AutoFill Destination:= Range("E7:E " & i ), Type: =xlFillDefault ne marcherais pas ?

Je maitrise pas trop vba moi non plus

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
18 sept. 2006 à 20:40
Salut !
Je pense que la solution de Casy est bonne, mais sinon, c'est plutot le genre de situation ou on va utiliser l'objet Cells :
Selection.AutoFill Destination:=Range(Cells(5, 7), Cells(5, i)), Type:=xlFillDefault

Personnellement ca me semble plus propre...

Julien.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 sept. 2006 à 23:05
Je pense aussi que la solution de Casy est la meilleure, mais si le
problème est de savoir la valeur de "i", il faut donc déterminer le
nombre de lignes.


'Chercher le nombre de lignes dans la colonne E

nbLignes = Columns("E:E").Find("*",Range("E1"),,,xlByRows, xlPrevious).Row

'Copie de la formule en indiquant la ligne de départ, ici 7

Range("x7:x" & nbLignes).Formula = "=E7"


Changer "x" par la lettre de la colonne dans laquelle tu veux insérer la formule
La formule va s'incrémenter toute seule...

MPi
0
dartagnian81 Messages postés 8 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 15 novembre 2006
19 sept. 2006 à 15:11
merci pour vos soluces !
j'ai essayé la réponse de Casy et ça roule...
darta
0
Rejoignez-nous