Encore un pb de Autofill...

Beast464

XLDnaute Junior
Bonjour/Re Forumiens
Voila jai eu beau fouiller le net toute la journee... impossible de faire marcher ceci :

HTML:
Sub Copie()
'
'On selectionne la cellule B2 et l'on copie colle la formule sur les lignes/colonnes ci dessous'
'

Dim LastCell
Dim j, LastLine
Dim Lettre As String
'On definit derniere ligne derniere colonne'

    Set LastCell = Cells.Find("*", , , , xlByColumns, xlPrevious).Columns
    j = LastCell.Column
    Lettre = IIf(j > 26, Chr(64 + j \ 26) & Chr(64 + j Mod 26), Chr(64 + j))
    LastLine = Range("A65536").End(xlUp).Row
    
    Sheets("Sheet2").Activate
    Range("B2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(MOD(COLUMNS(R[-1]C2:R[-1]C),ROUND(Sheet1!RC7,0))=0,(Sheet1!RC8+Sheet1!RC9),0)"
    'Selection.AutoFill Destination:=Range("B2:" & Lettre & "2"), Type:=xlFillDefault'
    Range("B2").AutoFill Destination:=Range("B2:" & Lettre & LastLine)

Sachant que l'avant derniere ligne en commentaire elle marche mais ne me fait que la premiere ligne

Merci d'avance.
 

tototiti2008

XLDnaute Barbatruc
Re : Encore un pb de Autofill...

Bonjour Beast, Bonjour Odesta,

Tu ne peux pas recopier à la fois vers le bas et la droite, comme quand tu essayes de le faire en Excel, avec AutoFill

essayes peut-être ceci :

Code:
    Range("B2:" & Lettre & LastLine).FormulaR1C1 = _
        "=IF(MOD(COLUMNS(R[-1]C2:R[-1]C),ROUND(Sheet1!RC7,0))=0,(Sheet1!RC8+Sheet1!RC9),0)"
 

Beast464

XLDnaute Junior
Re : Encore un pb de Autofill...

Ah zut je pensais qu'on pouvait faire les deux. Nerf.. Moi qui pensais simplifier mon code.
Je regarde si ta partie de code rentre bien dans mon prog et je te dis.

Merci Beaucoup tototiti2008!
je me suis enervé toute l'aprem pour rien avec cette fonction autofill......
L'enregistreur de macro ca aide mais ca fait pas tout le boulot :p
 
Dernière édition:

Beast464

XLDnaute Junior
Re : Encore un pb de Autofill...

Pour ceux qui ont besoin de ce genre de commande :

Je précise un peu l'utilité :

Permet de copier coller à partir de la cellule B2 la formule voulue jusqu'a ce que la prochaine cellule vide, en colonne comme en ligne.

LastLine : derniere ligne non vide
j: Derniere colonne non vide
Lettre : conversion de j en lettre ( Excel renvoie un chiffre pour la lettre de chaque colonne)
 

tototiti2008

XLDnaute Barbatruc
Re : Encore un pb de Autofill...

Re,

Oui, ou alors les flemmards comme moi utilisent Cells dans Range pour pouvoir utiliser les numéros directement ;)

Code:
Range(Cells(2,2), Cells(LastLine,j)).FormulaR1C1 = _
        "=IF(MOD(COLUMNS(R[-1]C2:R[-1]C),ROUND(Sheet1!RC7,0))=0,(Sheet1!RC8+Sheet1!RC9),0)"
 

Discussions similaires

Réponses
8
Affichages
668
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 612
dernier inscrit
GLOIRE