Test si une page excel existe

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

C

Crapulas

Guest
Bonjour,

Je souhaiterai avoir de l'aide pour du VBA dans excel.

J'ai un classeur avec un nombre de pages inconnues.
Je cherche toutes les pages qui comporte comme nom d'onglet par exemple "20XX-20YY"

Comment faire en VBA pour récupérer dans une liste toutes les pages ayant ce nom?

Même question, comment tester que le nom de page existe et si non créer la page avec ce nom?

Merci de votre et bonne soirée
 
Bonjour Crapulas, le Forum

2 macros pour tes 2 demandes.

La 1ère te renvoie dans un MsgBox les onglets nommés 20xx-20yy
Tu l'adapteras pour la mettre dans une liste.

La 2ème determine si l'onglet existe ou pas

Sub RechercheOnglet()
Dim Liste As String
Dim i As Long
For i = 1 To ActiveWorkbook.Sheets.Count
If Left(Sheets(i).Name, 2) & Mid(Sheets(i).Name, 6, 2) = "2020" Then
Liste = Liste & Sheets(i).Name & Chr(10)
End If
Next i
MsgBox Liste
End Sub

Sub PageExiste()
Dim NomPage As String
Dim Valor As String
NomPage = InputBox("Entrer le nom de la page", "")
On Error GoTo GestErreur
Valor = Sheets(NomPage).Range("A1")
MsgBox "La page existe"
Exit Sub
GestErreur:
MsgBox "La page n'existe pas"
End Sub

Bonne journée

PhiBou
 
Re le fil, le Forum

Pour tao.tix

Le test pour la 2ème macro c'est la gestion de l'erreur.

Si la page n'existe pas alors

Valor = Sheets(NomPage).Range("A1")

renvoie une erreur qui est gérée par GestErreur : MsgBox "La page n'existe pas"

Si la page existe on continue la procédure et on a : MsgBox "La page existe"

On aurait pu faire ceci :

Test = 0
For i = 1 To ActiveWorkbook.Sheets.Count
if Sheet(i).Name = NomPage then Test = 1
End If
Next i
if Test = 1 then
MsgBox "La page existe"
else
Msgbox "La page n'existe pas"
end if

mais lorsque on a un grand nombre d'onglets la gestion d'erreur est plus rapide.

PhiBou
 
- 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

Retour