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

Conditionner le déroulement d'une macro a l'existence d'une feuille

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

degap05

XLDnaute Impliqué
Bonjour le forum,

Je souhaiterais que l'exécution d'une macro soit conditionné à l'existence d'une feuille.
Si la feuille "Validé" existe la macro se déroule, si cette feuille n'existe pas message: Vous devez créer la feuille "Validé" et sortie de la procédure.

Merci pour votre compréhension.
 
Dernière édition:
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Bonjour,

Ci-dessous un exemple à adapter :


Sub test()
Marqueur = 0
For Each X In Sheets
If X.Name = "Validé" Then Marqueur = 1
Next
If Marqueur = 0 Then Exit Sub 'Si la feuille n'existe pas, on sort de la Sub
'Si la feuille existe, mettre ici ton code ...
End Sub
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille


Bonjour Catrice,
Là je suis incapable d'adapter ton code avec :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Avec un peu plus d'explication si tu veux bien.
Merci.
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Re,

Je n'ai pas regardé ton code.
J'ai juste répondu à la question, "Si la feuille "Validé" existe la macro se déroule".
Où veux tu dans ton code tester l'existence de la feuille "Validé" ?

Voir modif ci-dessous :

'Code avant
Marqueur = 0
For Each X In Sheets
If X.Name = "Validé" Then Marqueur = 1
Next
If Marqueur = 0 Then
MsGbox "La feuille n'existe pas"
Exit Sub
Else
'Si la feuille existe, mettre ici ton code ...
End IF
'Code apres
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Oui voilà :

"Où veux tu dans ton code tester l'existence de la feuille "Validé" ?"

J'aimerais tester au premier double click.

Merci.
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Re,

Ca devrait ressembler à :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Marqueur = 0
For Each X In Sheets
If X.Name = "Validé" Then Marqueur = 1
Next
If Marqueur = 0 Then
MsgBox "La feuille n'existe pas"
Exit Sub
Else
'Ici ton code
End IF
End Sub
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Bonsoir

Bonsoir, Catrice

@ Catrice

une autre façon de tester l'existence d'une feuille...

Code:
On Error Resume Next
x = Len(Sheets("Feuil1").Name)
On Error GoTo 0
If x > 0 Then
MsgBox "existe"
End If
 
Re : Conditionner le déroulement d'une macro a l'existence d'une feuille

Bonjour, Catrice et bhbh,


Voilà comment j'ai adapté vos propositions:
Dim test As Boolean, curSheet As Worksheet

For Each curSheet In ThisWorkbook.Sheets
If curSheet.Name = "Validé" Then test = True
Sheets("Cde").Select
'si la feuille n'a pas encore été créée, la créer
If Not test Then ThisWorkbook.Sheets.Add.Name = "Validé"
Sheets("Validé").Range("A1").Value = "DEM01900"
Sheets("Cde").Select
Next

'mon code

Voyez-vous une amélioration à apporter ?

A+
 
Dernière édition:
- 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

Discussions similaires

Réponses
2
Affichages
244
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…