Microsoft 365 Trouver la première cellule vide sur une range prédéfinie

SPGoder

XLDnaute Occasionnel
Bonjour
Je souhaiterai savoir comment trouver la première cellule vide dans un "tableau sur une feuille".
Sachant qu'il y a d'autres tableaux en dessous,. je ne peux me servir de la colonne en entier pour trouver la première cellule vide avec :

VB:
 Feuille1. .Range("A65536").End(xlUp).Row + 1

J'ai trouvé une parade en faisant :
VB:
    Dim j As Integer, L As Integer
 
        For j = 2 To 15
            If Feuil1.Cells(j, "A").Value = "" Then L = j: Exit For
        Next j
        Feuil1.Cells(j, "A") = TextBox1.Value

ça fonctionne bien, mais je suis sur qu'il existe une méthode plus simple
Petit fichier test pour l'exemple
merci de votre aide
 

Pièces jointes

  • Premier ligne vide sur range prédéfinie.xlsm
    22.2 KB · Affichages: 10

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

Avec CurrentRegion :
VB:
Sub Chargement_Listbox()

    Dim Tbl As Variant
    With Range("A2").CurrentRegion
        If .Rows.Count < 2 Then Exit Sub

         'données de la colonne 1 sans les entêtes
        Tbl = .Offset(1).Resize(.Rows.Count - 1, 1).Value
    End With
    If IsArray(Tbl) Then
        Me.ListBox_page1.List = Tbl
    Else
        Me.ListBox_page1.AddItem Tbl
    End If
End Sub

Il faut au moins 2 lignes (dont l'entête) dans le tableau sinon ça plantera .List


Cordialement
 

SPGoder

XLDnaute Occasionnel
Bonjour à tous
Merci de m'avoir répondu si rapidement
VGendron
Je me suis mal exprimer, C'est le numéro de ligne qu'il me faut
Bruno
ça correspond exactement à mon besoin, mais avec un +1 à la fin, pour avoir la cellule vide
Hasco
ça fonctionne aussi, sauf que le fichier n'est qu'un exemple, sur mon projet, je n’alimente pas forcément une listbox, c'était pour la vérification en direct que j'avais mis une listbox

Merci à vous tous, et bonne journée

 

patricktoulon

XLDnaute Barbatruc
bonjour
Bonjour
Je souhaiterai savoir comment trouver la première cellule vide dans un "tableau sur une feuille".
Sachant qu'il y a d'autres tableaux en dessous,. je ne peux me servir de la colonne en entier pour trouver la première cellule vide avec :

"Sachant qu'il y a d'autres tableaux en dessous"
mmmouais ca sent la conception bien mal pensé ça
et comment ajouter des lignes si c'est pas des tableaux structurés sans manger sur le debut d'un autre

après on parle de première ligne vide là encore on pourrait faire l'erreur d'utiliser xllup ou xldowncar il se peut que tu aie des lignes vides en tre deux pleines

question:
tes tableaux sont il des tableaux structurés (au quel cas la question est sans fondement ) et inutile
si ils ne le sont pas comment est organisé ta page et tes ranges(tes tableaux)

conclusion
mon conseil dans ce contexte
travailler toujours avec tes tableaux structurés l'ajout ou suppression de ligne est simplissime
et il ont un nom ce qui facilite leur accès en lecture ou écriture

dans le contexte que tu nous presente tu a fait de quelque chose de simple un case tête chinois
 

SPGoder

XLDnaute Occasionnel
Bonjour Patrick
Tu as certainement raison, mais pour l'instant, la gymnastique cérébrale que nécessite l'utilisation de tableau structuré n'est pas encore à ma portée, mais je m'y mettrai des que j'aurais un peu de temps.

Bonjour Toofatboy
Mais attention aussi si A2 est vide, ça necte retournera pas la bonne valeur. 😉
Tu as raison, je viens de faire le test. et ça n'ajoute pas de nouvelle ligne.
Mais dans mon cas, ça fonctionnera
Merci à vous tous
 

patricktoulon

XLDnaute Barbatruc
tellement plus simple de travailler avec des TS
tellement plus simple :rolleyes:

demo.gif



j'dis ça moi j'dis rien hein ;)
les codes en sont tellement simple (une ligne)
 

Pièces jointes

  • Premier ligne vide sur range prédéfinie.xlsm
    20.2 KB · Affichages: 5

patricktoulon

XLDnaute Barbatruc
Bonjour Patrick
Tu as certainement raison, mais pour l'instant, la gymnastique cérébrale que nécessite l'utilisation de tableau structuré n'est pas encore à ma portée, mais je m'y mettrai des que j'aurais un peu de temps.

Bonjour Toofatboy

Tu as raison, je viens de faire le test. et ça n'ajoute pas de nouvelle ligne.
Mais dans mon cas, ça fonctionnera
Merci à vous tous
heu et le range oui
bon ben je préconise alors un mois dans une maison de repos
et potasser l'exelent tutoriel de Pierre fauconnier sur DVP
sinon tu a un exemple dans mon precedent post qui te montre a quel point c'est simple
 

SPGoder

XLDnaute Occasionnel
bon ben je préconise alors un mois dans une maison de repos
Je ne demande pas mieux....
Je suis convaincu aussi qu'il faut que je passe par des Tableau
Merci pour l’exemple
Pourrais tu m'indiquer comment rajouter une donnée à un endroit précis du tableau, exemple je veux rajouter ma donnée en Colonne B (à la première cellule vide)
 

patricktoulon

XLDnaute Barbatruc
re
dans mon exemple (et cela que ce soit pour le tableau 1 ou 2 c'est le meme code c'est le nom du tableau qui change c'est tout
donc pour mettre la donnée en "B" c'est simple
VB:
Private Sub CommandButton3_Click()
Dim R As Range
Set R = Range("tableau2").ListObject.ListRows.Add.Range
'MsgBox "une ligne  à  été ajouté au tableau2 " & vbCrLf & "elle se trouve en feuil1 .row " & R.Row
r(2).value="taratata"
End Sub
terminé
et si tu voulais remplir toute la ligne par exemple
VB:
r.value=array("lenom","leprenom","la nationalité","l'etude","l'age")
du coup là la gymnastique cérébrale c'est walouhh!!
 

Discussions similaires

Réponses
0
Affichages
141

Statistiques des forums

Discussions
312 156
Messages
2 085 819
Membres
102 992
dernier inscrit
KOSTIC