Infos sur l'emplacement d'une feuille

  • Initiateur de la discussion Initiateur de la discussion jeanmarc
  • 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 !

J

jeanmarc

Guest
Bonjour à tous et meilleurs voeux ......

Est il possible sous VBA de savoir si une feuille est la derniere feuille du classeur ??


Merci et bonne année ......
 
Salut jean marc,

Voici un code dans vba peut-être un peu lourd mais qui fonctionne :

sub test
dim i as integer
dim m_nb_fls as integer
dim m_nm_fls_rech as string
'renvoye le nb de feuille du classeur actif
m_nb_fls=worksheets.count
m_nm_fls_rech=inputbox("entrer le nom de la feuille rechercher : ")

for i=1 to m_nb_fls
sheets(i).select
if ucase(activesheet.name)=ucase(m_nm_fls_rech) then ' s'affranchir
' des PB majuscule,minuscule : Ucase
msgbox("La feuille " & m_nm_fls_rech & " est en position " & i)
end if
next i

end sub

en rajoutant un test sur i ( if i=m_nb_fls then derniere_page) tu obtien ce que tu recherche

A+ Wilfried ;op
 
voici une fonction qui te dit si la feuille passée en paramètre est la dernière ou non :

Function IsLastFeuille(Ws As Worksheet) As Boolean 'Ti
IsLastFeuille = Ws.Index = Ws.Parent.Worksheets(Worksheets.Count).Index
End Function

Sub Test()
MsgBox IsLastFeuille(Worksheets("Feuil1"))
End Sub
 
Bonjour JeanMarc, Wilfried, le forum

en plus court sans boucle avec index et count

Cordialement, A+

Sub essai()
If ActiveSheet.Index = ThisWorkbook.Worksheets.Count Then
MsgBox "Dernière feuille sur " & ThisWorkbook.Worksheets.Count
Else
MsgBox "Feuille " & ActiveSheet.Index & " sur " & ThisWorkbook.Worksheets.Count
End If
End Sub
 
en fait c'est une façon rapide d'affecter le résultat d'une assertion à une variable booléenne. Il faut la lire de droite à gauche :

je dis : cette feuille est la dernière !

Si c'est vrai, VBA me dit "OK" et donne la valeur VRAI à ma fonction,
Si c'est faux il me dit : "Arf, tu te trompes", donc ma fonction prend la valeur FAUX.

Ca évite un IF Then ... Else

ça marche ici avec une fonction, mais tu peux l'utiliser avec toute variable booléenne.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
285
Retour