Numérotation de lignes

Bonjour,

J'ai un problème concernant une macro sur Excel 2003 sur laquelle je travaille et j'aimerais avoir de l'aide de quelqu'un de plus doué que moi dans ce domaine.

Je veux énumérer les lignes des tableaux que j'exporte d'un autre programme. Le nombre de lignes changent dependamment du tableau. Mon programme fait le tableau et tout, mais il faut que j'aie un nombre de lignes fixes. or, je n'ai jamais de nombres fixe.

Voici la partie du programme dont je vous parle qui me cause des ennuis.

"For i = 1 To NumRows
Range("A2").Select
ActiveCell.FormulaR1C1 = "1"
ActiveCell.FormulaR1C1 = "=R[-1]C+1"
Range("A3", Range("A3").End(xlDown)).Select
Selection.AutoFill Destination:=Range("A3", Range("A3").End(xlDown)), Type:=xlFillDefault
Range("A3", Range("A3").End(xlDown)).Select

Exit For
Next i"

Au moment du autofill, il y a erreur. je ne sais pas si j'ai ete tres clair, mais bon.

Merci d'avance pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Bonjour

    Voici une petite procédure qui fonctionne pour dupliquer la formule en A3 de la ligne 3 à la ligne 16 :
    Sub test()
        numRows = 16
        For i = 2 To numRows
            Range("A" & i).FormulaR1C1 = "1"
        Next i
        Range("A3").FormulaR1C1 = "=R[-1]C+1"
        Range("A3").AutoFill Destination:=Range("A3:A" & Range("A3").End(xlDown).Row), Type:=xlFillDefault
    End Sub
    Voici une autre forme si l'on connait le N° de la dernière ligne à atteindre :
    Sub test2()
        numRows = 16
        Range("A2").FormulaR1C1 = "1"
        Range("A3").FormulaR1C1 = "=R[-1]C+1"
        Range("A3").AutoFill Destination:=Range("A3:A" & numRows), Type:=xlFillDefault
    End Sub
    à plus
    1. Hahaha! Ca fonctionne a merveille!! Merci LePierre! Bon sang, je commence a prendre gout a la Prog avec VBA, haha!
      1. Ok, en voici une autre. Là, j'aimerais que mon tableau se fasse en fonction de tout ca

        Voici une partie de mon programme

        " Range("A1:P195").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
        End With"

        A la place d'avoir P195, j'aimerais avoir toutes les cellules du tableau. J'avais 195 car j'avais ete oblige de donner un range, mais dependant du tableau que j'exporte, je peux me rendre autant a 211 qu'à 61. Quel serait le range qui s'ajusterait automatiquement a ca?

        Merci encore!
        1. Bonjour

          Remplace ta ligne :
          Range("A1:P195").Select 
          par :
          Range("A1:P" & Range("A1").End(xlDown).Row).Select
          à plus