[excel-vba] ajouter ligne tableau excel

Résolu/Fermé
anyah Messages postés 58 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 28 décembre 2008 - 26 sept. 2008 à 13:35
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 - 26 sept. 2008 à 14:21
Bonjour,

je voudrais ajouter une ligne à un tableau excel pour cela il faut d'abord que je trouve la premiere ccellule non vide (creation d'une variable qui nous donne le numero decette ligne) puis l'utiliser pour remplir a la suite avec de nouvelles données.

voici le code de mon module

Sub premieresVides(k As Integer)
     Range("B2").End(xlDown).Select
     k = 2
         Do
           If IsEmpty(ActiveCell) Then
            ActiveCell.Offset(1, 0).Select
            k = k + 1
           End If
         Loop Until ActiveCell = ""
         k = k + 1
         
End Sub


lorsque je lance la macro suivante :


Sub Command_ADD_Click()

Dim k As Integer
Sheets("data base").Select
premieresVides (k)


'Sheets("Data base").Range("b" & k).Value = Sheets("ADD Data").combo_program.Value

End Sub


En fait le bouton est sur une page differente de celle où se trouve le tableau("data base")
je vois que ma derniere cellule non vide est activée mais je bug tout excel ...

quelqu'un connait 'til une solution ?

merci d'avance
A voir également:

5 réponses

anyah Messages postés 58 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 28 décembre 2008 5
26 sept. 2008 à 14:18
est-il possible de récupérer directement l'indice de la ligne ( la pemiere vide) afin de pouvoir l'utilisé pour continuer a remplir les cellules de la ligne?

exemple :
variable de sortie =k

range("b"&k).value =.......
1
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
26 sept. 2008 à 14:21
ben oui c'est

k = Range("B2").End(xlDown).Row + 1
1
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
26 sept. 2008 à 13:44
Bonjour,

Premierement il faut que toutes tes lignes soient remplies (pas de trous ...)

auquel cas tu dois :

Range("B2").End(xlDown).Row + 1 te donne directement la valeur que tu cherches
0
anyah Messages postés 58 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 28 décembre 2008 5
26 sept. 2008 à 13:45
Non toutes les lignes ne sont pas obligatoirement remplis entierement.
j'ai choisi la colonne B, car c'est l'un des colonnes a etre obligatoirement remplis
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
26 sept. 2008 à 13:51
donc c'est bon

Cells(Range("B2").End(xlDown).Row + 1,2).select

va te positionner sur la premiere cellule libre de ta colonne B
0