Message d erreur

  • Initiateur de la discussion Guytou
  • Date de début
G

Guytou

Guest
Bonjour,

je n' arrive pas à trouver la macro .... qui me permettrait dans un classeur d' appeler une 'feuille' et de faire en sorte que si cette feuille n'xiste pas.... qu' un message d' erreur m' avertisse que cette feuille n' existe pas et que si elle existe qu' elle me l' ouvre.

Merci d' avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Guitou, le Forum

Une méthode simple et rapide, détecter/gérer l'erreur sur Sheets('TheSheetName').Activate si le nom de feuille n'existe pas, plutôt que de boucler sur toutes les feuilles. (Fastidieux si tu as 100 feuilles et plus)

Exemple :

Option Explicit

Sub TheSheetsTestor()
Dim TheSheetName As String

TheSheetName = Application.InputBox(prompt:='Indiquez la feuille à chercher', _
                                    Title:='Cherche Feuille', Type:=1 + 2)
If TheSheetName = '' Then Exit Sub

On Error GoTo NotExisting
    Sheets(TheSheetName).Activate
Exit Sub

NotExisting:
   
If Err = 9 Then
        MsgBox 'La Feuille ' & TheSheetName & ' introuvable pas dans ce Classeur'
   
Else
        MsgBox 'Erreur non gérée : ' & Err.Number & ' ' & Err.Description
   
End If
End Sub


Bonne Journée
@+Thierry
 

mutzik

XLDnaute Barbatruc
Salut Guytou

une autre possibilé

Option Explicit

Sub NomFeuille()
Dim c As Worksheet
Dim rep As String

rep = InputBox('donnez le nom de la feuille à ouvrir')
For Each c In Worksheets
If UCase(c.Name) = UCase(rep) Then
c.Activate
Exit Sub
End If
Next
MsgBox 'la feuille ' & rep & ' n'existe pas dans ce classeur'

End Sub

colle ça dans un module et c ok
Bertrand
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re Guytou (sorry pour l'orthographe avant), bonjour Bertrand, le Forum

Donc c'est très bien Bertrand, tu donnes aussi la solution avec une Boucle sur Toutes les Feuilles, qui est en théorie la plus 'académique'.

Cependant, avec l'expérience, on notera que parfois savoir générer et gérer une erreur est bien plus rapide que de contrôler item par item.

Pour le reste, rien à dire, ton code est correct. Et très bien d'avoir songé à la sortie 'Exit Sub' dans la boucle une fois le 'Match' accompli... Ptet juste un Test sur 'rep' si vide en sortie de l'InputBox...

Bonne Journée
@+Thierry
 

Statistiques des forums

Discussions
314 017
Messages
2 104 587
Membres
109 084
dernier inscrit
mizab