recherche dernière 1ère ligne vide avec macro

chroberto

XLDnaute Nouveau
Bonjour,
Je fignole ma première macro et j'aurais besoin d'identifier la première ligne dispo d'une feuille de saisie EXCEL, pour pouvoir saisir mes données.
La difficulté, pour mon niveau, est qu'il ne suffit pas de controler que la colonne A. car il peut, ne pas avoir de donnée dans la colonne A d'une ligne et y en avoir dans la colonne N par exemple.
moi j'ai fais le basic:

Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0).Select


mais ca ne prends que la colonne A.
QUESTION:
Faut il que j'ajoute le contrôle d'autres colonnes (2/3/4 colonnes)?
ou Est-ce que je peux controler une ligne entière (ou bornée, genre de A:M)? afin de réellement trouver la 1ère ligne dispo.

Merci par avance pour vos propositions et vos conseils avisés... j'ai besoin d'être éclairé!

PS:dans fichier joint, regarder onglet "Suivi A.D."
 

Pièces jointes

  • 09 XXX (test) pr info.zip
    37.2 KB · Affichages: 99
  • 09 XXX (test) pr info.zip
    37.2 KB · Affichages: 100
  • 09 XXX (test) pr info.zip
    37.2 KB · Affichages: 104

Cousinhub

XLDnaute Barbatruc
Re : recherche dernière 1ère ligne vide avec macro

Bonsoir,

ce code :

Code:
Dim Dcell As Range
Dim Lig As Long, Col As Long
Set Dcell = Cells.Find("*", , , , xlByRows, xlPrevious)(2)
Lig = Dcell.Row
Col = Dcell.Column

te donne :

Dcell : dernière cellule remplie

Lig : dernière ligne remplie

Col : dernière colonne remplie

Bonne soirée

PS, m'a suis trompé...

Col peut être déclaré en Integer....(xl2007 ne comportant que 16384 colonnes, Integer balayant jusqu'à 32 767)

Désolé....
 
Dernière édition:

chroberto

XLDnaute Nouveau
Re : recherche dernière 1ère ligne vide avec macro

merci pour la réponse, elle me permet de bien avancer.
maintenant j'aimerai pouvoir utiliser
Set Dcell = Cells.Find("*", , , , xlByRows, xlPrevious)
mais en la bornant. c'est à dire que sur ma feuille comporte un tableau avec une suite de données entre la ligne 2 et ligne 24(par ex:) et qu'en ligne 27 j'ai des formules pour les totaux que je veux conserver.

je voudrais donc que ce code me donne la première ligne vide (ici ligne 25) au lieu de me donner la ligne 27 où j'ai mes totaux.
 

Cousinhub

XLDnaute Barbatruc
Re : recherche dernière 1ère ligne vide avec macro

Re-,

si tu connais ta ligne comportant les formules, tu utilises l'option End.xlUp

sinon, comme il semble que dans la colonne B, tu auras toujours "Total" (que la cellule soit ou non Fusionnée...

Code:
[B65000].End(xlup).Row

te donne la cellule contenant "Total"

ainsi, ceci :

Code:
Dim Plg As Range, Dcell As Range
Dim Lig As Long
Dim Col As Integer
Set Plg = Range("B12:N" & Cells([B65000].End(xlUp).Row, 2).Row - 1)
Set Dcell = Plg.Find("*", , , , xlByRows, xlPrevious)(2)
Lig = Dcell.Row
Col = Dcell.Column

devrait te donner ce que tu désires...

Bonne soirée
 

chroberto

XLDnaute Nouveau
Re : recherche dernière 1ère ligne vide avec macro

merci pour ton aide, en effet ce code répond à mes attentes.

j'ai maintenant une autre requête mais je vais créer une nouvelle discution.
cependant si tu peux encore m'aider...
je souhaiterai que dans mon tableau de saisie des lignes supplémentaire soient ajoutées, sous les dernières données.le nombres de lignes supplémentaires doit correspondre au nombres de données qui sont extraitent par ma macro.
question:
soit je cherche une macro qui compte le nombre de données extraitent et qui insère des lignes * (le nbre de données)?
soit une macro qui à chaque données à saisir, insère une ligne?

Merci de tes lumières.... si éclairantes!
 

Discussions similaires

Réponses
3
Affichages
455

Statistiques des forums

Discussions
312 632
Messages
2 090 337
Membres
104 507
dernier inscrit
mag7748