Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel

Advertisement

Réponse
 
LinkBack Outils de la discussion
Vieux 08/05/2008, 13h26   #1 (permalink)
XLDnaute Junior
 
Date d'inscription: mai 2008
Messages: 62
Par défaut Dernière ligne d'un feuillet

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

Citation:
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 .
atlas est déconnecté   Réponse avec citation
ANNONCES
Vieux 08/05/2008, 13h31   #2 (permalink)
XLDnaute Impliqué
 
Avatar de cbea
 
Date d'inscription: mars 2008
Messages: 746
Par défaut Re : Dernière ligne d'un feuillet

Bonjour Atlas,

Voici une solution :
Code:
Sub DERNIERELIGNE()
    Dim derLig As Long

    derLig = Worksheets("Progression").Range("A65536").End(xlUp).Row + 1

End Sub
__________________
@+
cbea
cbea est déconnecté   Réponse avec citation
Vieux 08/05/2008, 13h32   #3 (permalink)
XLDnaute Barbatruc
 
Avatar de BrunoM45
 
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Messages: 3 731
Lightbulb 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 ...
__________________
Cordi@lement.
A lire très important ICI

est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.
La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses.

Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI
BrunoM45 est déconnecté   Réponse avec citation
Vieux 08/05/2008, 15h36   #4 (permalink)
XLDnaute Junior
 
Date d'inscription: mai 2008
Messages: 62
Par défaut 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'

Citation:
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 ....)
atlas est déconnecté   Réponse avec citation
Vieux 08/05/2008, 16h32   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de BrunoM45
 
Date d'inscription: avril 2005
Localisation: MONTARGIS (la Venise du Gâtinais)
Messages: 3 731
Lightbulb 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à
__________________
Cordi@lement.
A lire très important ICI

est une touche qui appelle l'aide : Essayez, c'est assez performant et on trouve plein de choses.
La politesse est comme le zéro, qui, sans avoir de valeur en soi, en ajoute à toutes choses.

Si vous souhaitez rejoindre le club des Supporters d'XLD ... c'est ICI
BrunoM45 est déconnecté   Réponse avec citation
Vieux 08/05/2008, 16h40   #6 (permalink)
XLDnaute Impliqué
 
Avatar de excalibur
 
Date d'inscription: février 2005
Localisation: grenoble
Messages: 882
Par défaut Re : Dernière ligne d'un feuillet

bonjour atlas bruno cbea le forum une autre proposition

Sub DERNIERELIGNE()
Sheets("Progression").Range("a65536").End(xlUp).of fest(1, 0).Value = Date
End Sub
__________________
salutations

jean pierrre

Dernière modification par excalibur ; 08/05/2008 à 16h43.
excalibur est déconnecté   Réponse avec citation
Vieux 08/05/2008, 21h14   #7 (permalink)
XLDnaute Junior
 
Date d'inscription: mai 2008
Messages: 62
Par défaut 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
Citation:
Sheets.
Il s'affiche un menu déroulant dans lequel je ne trouve pas l'objet ou propriétés
Citation:
range
?!

Du coup la syntaxe qui lie
Citation:
Sheets
à
Citation:
range
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

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

Il manquait l'objet
Citation:
Application
et
Citation:
Sheets
serait une propriété .Enfin je crois ...

ci dessous

Citation:
Sheets("Progression").Range("a65536").End(xlUp).Of fset(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 .
atlas est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Copie d'un ligne vers autre onglet à la dernière ligne vide thomas59p Forum Excel 6 21/12/2007 00h47
dernière cellule non vide d'un ligne+envoi des inf sandrine Forum Excel 3 08/02/2006 17h44
supprimer les derniere ligne d'un classeur zouille Forum Excel 12 30/12/2005 14h20
Effacer le contenu de la derniére ligne d'un tableau Michel Forum Excel Downloads - Archives 5 27/07/2004 12h40
derniere ligne d'un tableau jef Forum Excel Downloads - Archives 4 16/08/2003 11h15


Fuseau horaire GMT +2. Il est actuellement 00h43.


(C) 2006 Excel Downloads