Rechercher : dans
Par :

VBA recherche derniere ligne vide

Dernière réponse le 2 jui 2008 à 17:23:54 Bilux, le 2 jui 2008 à 12:28:43 
 Signaler ce message aux modérateurs

Bonjour,

je travaille sur un tableau Excel, ce tableau peut contenir des trous (des cases non remplis).
je voudrait donc créer une macro qui recherche la dernière ligne entièrement vide du tableau.
le nombre de colonne du tableau est connue néanmoins.

j'ai déjà lue des solutions qui consistait a rechercher la derniere cellule vide d'une colonne, mais puisque le tableau contient des trous, donc "dernière cellule vide" ne veux pas dire "dernière ligne vide" !!!

Configuration: Windows XP
Firefox 3.0

Meilleures réponses pour « VBA recherche derniere ligne vide » dans :
[VBA] RechercheV Polyvalente VoirRECHERCHE POLYVALENTE Pour les accros et les inconditionnels des fonctions d'Excel, avant de crier au scandale, lisez les quelques lignes suivantes. La RechercheV d'origine a beaucoup de limites: La colonne de la donnée doit être avec un offset...
Sed - Trucs et astuces VoirSubstitution Affichage Suppression Espace et tabulation Ligne vide Intervalle régulier Divers Joindre des lignes Affichage insensible à la casse Substitution Substituer "foo" par "bar" à chaque ligne Seulement la 1ère...

1

Darkito, le 2 jui 2008 à 12:41:08

Bonjour,
tu fais la même chose que pour trouver la dernière cellule vide sauf que dans la condition, tu rajoutes les autres colonnes.
Tøƒ

Répondre à Darkito

2

Bilux, le 2 jui 2008 à 13:02:16

Tu peux me donner un exemple ? supposons que j'ai 14 colonnes !

Répondre à Bilux

4

Darkito, le 2 jui 2008 à 14:21:07

Je ne me rapelle plus très bien de la syntaxe VBA mais ca donne un truc du genre :

var compteur = 0
while (isempty(activesheet.cells(0,compteur)) && isempty(activesheet.cells(1,compteur)) && ... && isempty(activesheet.cells(14,compteur))) {

compteur++


}



a la sortie compteur correspond à la première ligne vide.

(je ne suis pas sur de la syntaxe pour cells, de même pour les ET logique etc...)
Tøƒ

Répondre à Darkito

3

Bilux, le 2 jui 2008 à 14:02:13

Vais-je utiliser la fonction "End(xlDown)" ?

Répondre à Bilux

5

Bilux, le 2 jui 2008 à 17:21:00

J'ai finalement utiliser ce bout de code en me disant que si les 10 premieres cellules était vide alors la ligne serait surrement entierement vide



Function ligne_vide() As Integer
ligne_vide = 1

While ActiveSheet.Cells(ligne_vide, 1) <> "" _
Or ActiveSheet.Cells(ligne_vide, 2) <> "" _
Or ActiveSheet.Cells(ligne_vide, 3) <> "" _
Or ActiveSheet.Cells(ligne_vide, 4) <> "" _
Or ActiveSheet.Cells(ligne_vide, 5) <> "" _
Or ActiveSheet.Cells(ligne_vide, 6) <> "" _
Or ActiveSheet.Cells(ligne_vide, 7) <> "" _
Or ActiveSheet.Cells(ligne_vide, 8) <> "" _
Or ActiveSheet.Cells(ligne_vide, 9) <> ""
ligne_vide = ligne_vide + 1
Wend
MsgBox "ligne vide" & ligne_vide
End Function


Merci

Répondre à Bilux

6

 Darkito, le 2 jui 2008 à 17:23:54

C'est effectivement à ça que je voulais arriver (mais ma syntaxe était vraiment à l'arrache...)
Bonne continuation Tøƒ

Répondre à Darkito