XL 2019 cellule vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MOmichel

XLDnaute Junior
bonjour
j'aimerai avoir une explication j'ai un tableau avec X lignes ci dessous
lorsque je veux sélectionner la premiere ligne non vide da la colonne E en appliquantt le code

Range("e20000").Select
' Boucle tant que pas vide
Do While (IsEmpty(ActiveCell))
NbLigne = NbLigne - 1
Selection.Offset(-1, 0).Select
Loop
Selection.Offset(1, 0).Select
Range(ActiveCell, ActiveCell.End(xlDown)).Select
Selection.ClearContents
Range("e20000").Select
Selection.End(xlUp).Select

je viens me positionner sur la cellule E,91 et non sur la E79 ?

1608460064011.png




par avance merci pour vos commentaires
 
Solution
Bonjour le fil

Fonctionne chez moi
(toujours sur le fichier demo.xlsm)
VB:
Sub PremièreVideDepuisBas()
Dim LObj As ListObject, premCellVideDepuisBas&
Set LObj = ActiveSheet.ListObjects("Tsource")
With LObj.Range.Columns(5)
premCellVideDepuisBas = .Cells(.Rows.Count).End(xlUp).Row + 1
End With
MsgBox premCellVideDepuisBas, vbInformation, "N°Ligne"
LObj.Range(premCellVideDepuisBas, 5).Select
End Sub
RE à tous

S'il s'agit d'un tableau structuré
Derligne=range("A" &rows.count).end(xlup).row
ne fonctionne pas contrairement à
FirstLine=range("E1").end(xldown).row
qui fonctionne dans certaines situations mais pas toutes

Il faut tester avec quelque chose comme
VB:
For Each cellule In [NomTableau].ListObject.ListColumns(5).DataBodyRange
ou
With [NomTableau].ListObject.ListColumns(5).DataBodyRange
   For i = .Rows.Count + .Row - 1 To .Row Step -1
       If IsEmpty(.Cells(i, 1)) Then ...
 
Dernière édition:
Bonjour le fil

Avec ce bidule, on peut tendre vers le vide, non?
😉
VB:
Sub DerLig_ListObject()
Dim tlObj As ListObject, Der_Lig_Tableau&
Set tlObj = ActiveSheet.ListObjects(1)
Der_Lig_Tableau = tlObj.ListColumns(1).Range.Rows.Count
MsgBox Der_Lig_Tableau & " (avec l'entête)", 64, "Nombre de ligne d'un Tableau:"
MsgBox tlObj.DataBodyRange.Rows.Count
End Sub
 
Re

Et c'est là qu'on se demande (ou qu'on peut le faire)
Mais diable, pourquoi le demandeur n'a pas joint de fichier Excel dès son premier message?
Oui, on peut se le demander (en affichant un air las et fatigué , directe conséquence de rabâcher cette rengaine pour la 12729ième fois) 😉
 
Bonjour,

un exemple :
VB:
For Each Cellule In [tsource].ListObject.ListColumns(5).DataBodyRange
  If IsEmpty(Cellule) Then Cellule.EntireRow.Select
Next Cellule
et plus d'erreur de compilation « Next sans For » ! 🙂

attention : si tu veux supprimer les lignes pour lesquelles Cellule est vide,
tu dois utiliser une boucle qui balaye les lignes de bas en haut, afin que
le compteur de la boucle ne soit pas « perturbé » !


soan
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
2
Affichages
519
Réponses
2
Affichages
503
Réponses
21
Affichages
2 K
Réponses
4
Affichages
796
Retour