Dernière ligne d'un feuillet

  • Initiateur de la discussion Initiateur de la discussion atlas
  • Date de début Date de début

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 !

atlas

XLDnaute Occasionnel
Bonjour , du facile du classique : comment trouver la dernière ligne vide d'un feuillet nommé "Progression" ? (j'aie plusieurs feuillets dans mon classeur)

Sub DERNIERELIGNE()

Dim FeuilletProgression As Worksheets

Worksheets("Progression").Activate

FeuilletProgression = Range("A65536").End(xlUp).Offset(1, 0)

End Sub

Je tourne en rond avec les messages d'erreur d'execution 13,421 ou 91 et pour finir avec "mauvaise utilisation de la propriété"

Je ne comprend pas la syntaxe d'une instanciation d'objet avec la fonction set .

Bref une partie de la philosophie du VBA continue de m'échapper étant donner que je rencontre toujours les mêmes messages d'erreur .
 
Re : Dernière ligne d'un feuillet

Salut Atlas,

Juste au passage, ce ne sont pas des feuillets, mais tout simplement des feuilles (traduction du terme anglais 'Sheet')

Pour avoir la dernière ligne, il suffit de faire une recherche sur le forum 😎

Tu aurais pu trouver :
DerLigVide = Sheets("Progression").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row

Voilà 😉

Edit : Oups cbea, tu es la plus rapide ...
 
Re : Dernière ligne d'un feuillet

Je me suis mal exprimé DerLig ne doit pas etre un chiffre de type long mais plutot un objet .
Le but etant de trouver la derniere ligne vide et d'y écrire dans la cellule la date actuelle dans la colonne A .Puis .... mais ce sera pour plus tard ...

Voici à nouveau mon message d' erreur d'execution 91'

Sub DERNIERELIGNE()

Dim derLig As Object
Worksheets("Progression").Activate
' derLig = Worksheets("Progression").Range("A65536").End(xlUp).Row + 1
derLig = Sheets("Progression").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
derLig.Select
ActiveCell.FormulaR1C1 = Date
End Sub

A vrai dire j'aie déja codé ce type de programme mais comme je ne saisi pas la logique du VBA .Lorsque j'aie à recoder ce type de routine , non seulement j'aie oublié mais en plus je perd un temps fou a retrouver comment faire et à fouiller partout (parce que j'aie fouillé si si et sur le forum en plus ....)
 
Re : Dernière ligne d'un feuillet

Atlas,

Si tu ne saisi pas le sens des objets, propriété ou méthode ...
Pourquoi n'essayes-tu pas autrement, de cette façon par exemple:

Code:
Sub Test()
With Sheets("Progression")
  DerLigVide = .Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
  .Range("A" & DerligVide").value = Now()
End With
End Sub

Sinon, tu peux également dans l'éditeur VBA, appuyer sur la touche F1
et saisir "création variable objet", tu verras ... 🙂


Voili, voilà 😉
 
Re : Dernière ligne d'un feuillet

bonjour atlas bruno cbea le forum une autre proposition

Sub DERNIERELIGNE()
Sheets("Progression").Range("a65536").End(xlUp).offest(1, 0).Value = Date
End Sub
 
Dernière édition:
Re : Dernière ligne d'un feuillet

Oui Ok ça fonctionne , je retiens la solution d'excalibur qui est la plus simple .

Par contre je vais demander un dernier effort d'explication .

Lorsque je tape dans l'editeur de code
Il s'affiche un menu déroulant dans lequel je ne trouve pas l'objet ou propriétés
?!

Du coup la syntaxe qui lie
à
je la trouve étrange !

Pareil pour la logique de l'explorateur d'objet (touche F2) que je ne comprend pas .
Je vois tout dans l'explorateur d'objet (propriétés , événements ,méthode, classe, constante, bibliothèque) sauf ...L'objet !

D'ou 2 questions bêtes :
1/Ou puis trouver un listing de tous les objets excel ? (afin d'en déduire ensuite logiquement les méthodes et les propriétés de chacun)
2/J'aie l'impression dans l'explorateur qu'on associe une classe = 1 objet ;Vrai ?

Pour moi ce qui me satisfait le plus du point de vue de la logique c'est cette
écriture

Application.Sheets("Progression").Range("a65536").End(xlUp).Offset(1, 0).Value = Date
.

Il manquait l'objet
et
serait une propriété .Enfin je crois ...😕

ci dessous

Sheets("Progression").Range("a65536").End(xlUp).Offset(1, 0).Value = Date
.En omettant l'objet "Application" j'associe "Sheets" a un objet
alors que c'est une propriété .😕


Voilà comprenne qui pourra mes élucubrations .
 
- 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

L
  • Question Question
Réponses
4
Affichages
1 K
loiseau jonathan
L
A
Réponses
17
Affichages
3 K
Ananas94
A
F
Réponses
1
Affichages
580
T
Réponses
16
Affichages
3 K
T
M
Réponses
3
Affichages
2 K
D
Réponses
6
Affichages
5 K
Flow0812
F
C
Réponses
7
Affichages
2 K
calimero44
C
H
Réponses
6
Affichages
2 K
Holeshotman
H
V
Réponses
3
Affichages
1 K
R
Réponses
3
Affichages
946
Retour