Comptage du nombre de lignes d'une feuille dans macro

Signaler
Messages postés
3
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
2 décembre 2007
-
Messages postés
60
Date d'inscription
vendredi 26 octobre 2007
Statut
Membre
Dernière intervention
30 mars 2010
-
Bonjour,

   Je souhaite créer une macro Excel pour copier les données de 3 onglets dans un seul onglet "Data". Les onglets ont tous les même formats mais le nombre de ligne change. Comment copier les données de l'onglet 1 (N lignes) dans mon onglet, puis celles de mon onglet 2 à la suite donc à la ligne N+1 ? En effet je n'arrive pas à trouver la fonction pour compter le nombre de lignes de données d'un onglet.
  Actuellement ma seule solution est de créer un nouvel onglet dans lequel une des cellules calcule le nombre de valeur par la fonction NBVAL et récupérer cette donnée dans la macro, mais cela est trop lourd à gérer (création d'un onglet supplémentaire..)

Ci-joint actuellement ma macro, qui ne fonctionne pas... :
Sub data()
'création du fichier data
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim p As Object
Dim Onglet As Variant


n = 2
For i = 1 To n
'sélection de l'onglet à copier
Onglet = "Feuil1 (" & i + 1 & ")"
Sheets(Onglet).Select
'compte le nombre de ligne sur cette feuille
j = Sheets(Onglet).UsedRange.Rows.Count 
'copie des données à l'endroit souhaité
    Range("A2:AF" & j).Select
    Selection.Copy
    Sheets("data (2)").Select
    Range("C" & n).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    n = n + j
Next i
End Sub 

Merci pour toute l'aide que vous pourrez m'apporter

1 réponse

Messages postés
60
Date d'inscription
vendredi 26 octobre 2007
Statut
Membre
Dernière intervention
30 mars 2010

Bonjour à tous
Bonjour  Lukatla

Cette ligne de code te donne la 1ère ligne vide en colonne A :

lignevide = Worksheets("Feuil1").Range("A65536").End(xlUp).Row + 1

Frédéric