Dernière cellule vide en VBA

David

XLDnaute Occasionnel
Bonjour à tous

Je cherche à selectionner la première ligne vide en partant du bas. Normalement j'utilise :

Code:
Ligne_der = Sheets("Feuil1").Range("B65536").End(xlUp).Row

Mais mes cellules ne sont pas vraiment vide vu qu'il a des formules qui renvois la valeur "".

ça me renvois donc à la ligne juste avant la dernière formule, mais je voudrais que ça monte jusqu'à la cellule qui contient un résultat et non pas la formule qui renvois "".

Merci davance.
 
Dernière édition:

David

XLDnaute Occasionnel
Re : Dernière cellule vide en VBA

Merci mromain pour ta réponse.

J'ai mis ton code et ça génère une erreur 2029.

Petit fichier exemple joint

Merci
 

Pièces jointes

  • ligne_der.xls
    19.5 KB · Affichages: 212
  • ligne_der.xls
    19.5 KB · Affichages: 224
  • ligne_der.xls
    19.5 KB · Affichages: 220

mromain

XLDnaute Barbatruc
Re : Dernière cellule vide en VBA

re bonjour


ça a l'air de fonctionner chez moi (Excel 2007), j'ai juste rajouté un +1 afin que ça renvoie le première ligne disponible, et non la dernière saisie (au vu des explications dans ton fichier).

je te renvoi donc ton fichier avec la macro.

a+
 

Pièces jointes

  • ligne_der.xls
    38.5 KB · Affichages: 300
  • ligne_der.xls
    38.5 KB · Affichages: 316
  • ligne_der.xls
    38.5 KB · Affichages: 309

David

XLDnaute Occasionnel
Re : Dernière cellule vide en VBA

@ mromain

ça marche effectivement sous 2007, mais pas sous 2003, j'ai besoin que ça marche sur les 2. comme j'ai les 2 versions j'ai pu tester sur les 2. Si tu as une soluce pour 2003, je suis preneur.

@carcharodon-carcharias

Merci pour ta proposition ça marche, mais je n'arrive pas à me récupérer la valeur.

J'ai besoin de faire une selection de ligne pour les cacher.

voila se que j'ai fait, mais j'ai un message d'erreur sur la méthode range

Code:
Dim i As Integer
For i = Range("B65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 2).Value <> "" Then
    Rows(Range(i).Value + 1 & ":249").Select
    Selection.EntireRow.Hidden = True
    Exit Sub
    End If
Next i

Merci
 
Dernière édition:

David

XLDnaute Occasionnel
Re : Dernière cellule vide en VBA

Bon j'ai trouvé avec la solution de carcharodon-carcharias.

Code:
Dim i As Integer
For i = Range("B65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 2).Value <> "" Then
    Rows(i + 1 & ":256").Select
    Selection.EntireRow.Hidden = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    Rows(i & ":257").Select
    Selection.EntireRow.Hidden = False
    Range("A1").Select
    Exit Sub
    End If
Next i

Merci à tous pour votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 450
Messages
2 088 510
Membres
103 873
dernier inscrit
Sabin