Probleme avec Derniere cellule vide dans tableau

kyasteph

XLDnaute Occasionnel
Bonjour,
J'ai un tableau excel réalisé à partir de l'outil tableau d'excel.
Je souhaiterais atteindre la derniere cellule vide de la colonne "D".
Ma macro fonctionne tres bien (comme je veux) avec un tableau excel "manuel" comme illustré dans la feuil1.
Par contre elle ne fonctionne pas quand il s'agit d'un tableau crée à partir de l'outil tableau excel voir feuil2.
Elle selectionne la fin du tableau,alors que je souhaite selectionner la derniere cellule vide à l'interieur et non à l'extérieur du tableau
comme dans la feuil1;comment y arriver ?

Je joins une piece jointe pour mieux me faire comprendre
La macro se trouve à l'interieur du code de la feuille

Quelqu'un a t il la solution ?
Merci de m'aidez s'il vous plait ?
 

Pièces jointes

  • DerCelVide.xlsm
    441.6 KB · Affichages: 49

camarchepas

XLDnaute Barbatruc
Re : Probleme avec Derniere cellule vide dans tableau

Bonjour,

A priori aprés avoir nettoyé lla zone lignes 180 à 2000 cela fonctionne beaucoup mieux.

J''ai constaté que ces lignes étaient en protection Masquée ?

Utilise-tu une autre macro pour supprimer les lignes ou masquer des lignes ?

Cordialement
 

kyasteph

XLDnaute Occasionnel
Re : Probleme avec Derniere cellule vide dans tableau

Bonjour Camarchepas,
Merci encore pour ta sollicitude,en tenant compte de ta proposition le probleme demeurrait.
Mais cela m'a permis de mieux cerner mon probleme.Apres avoir cherché,j'ai amélioré mon code de cette maniere dans la Feuil2.et ça marche:
Voici le code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
If Not Intersect(Target, Range("D9")) Is Nothing Then
[D10:D1000000].SpecialCells(xlCellTypeBlanks).End(xlUp).Offset(1, 0).Select
cancel = True
End If
End Sub

Encore merci et longue vie au forum
 

Regueiro

XLDnaute Impliqué
Re : Probleme avec Derniere cellule vide dans tableau

Bonsoir le Forum, kyasteph
Sur ta Feuille2 tu as bien un Tableau ( Tableau4 )
Mais tu as des lignes vides depuis la ligne 176
Il faut les supprimer jusqu'à la ligne 1000 je crois

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, cancel As Boolean)
Set Tablo = Worksheets("Feuil2").ListObjects("Tableau4")
Set Plage = Tablo.DataBodyRange.Columns(4).SpecialCells(xlCellTypeBlanks).Cells
'Set plage2 = Plage.SpecialCells(xlCellTypeBlanks)

If Not Intersect(Target, Range("D9")) Is Nothing Then
MsgBox Plage.Cells.Count & Chr(13) _
& Tablo.Name & " : " & Tablo.DataBodyRange.Address
With Plage
MsgBox Plage.Rows.Count

'.Rows.Select
.Find("", , , , xlByRows, xlPrevious).Select
End With
cancel = True
End If
End Sub
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
327

Statistiques des forums

Discussions
312 331
Messages
2 087 360
Membres
103 528
dernier inscrit
hplus