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

    Remplace ta ligne :
    Range("A1:P195").Select 
    par :
    Range("A1:P" & Range("A1").End(xlDown).Row).Select
    à plus
    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. Hahaha! Ca fonctionne a merveille!! Merci LePierre! Bon sang, je commence a prendre gout a la Prog avec VBA, haha!
        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