[excel-vba] ajouter ligne tableau excel [Résolu/Fermé]

Signaler
Messages postés
58
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
28 décembre 2008
-
Messages postés
809
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
-
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

5 réponses

Messages postés
58
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
28 décembre 2008
5
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
809
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
152
ben oui c'est

k = Range("B2").End(xlDown).Row + 1
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
809
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
152
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
Messages postés
58
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
28 décembre 2008
5
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
Messages postés
809
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
152
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