Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 :



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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…