XL 2010 discordance entre 2 codes

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

Lipadec

XLDnaute Occasionnel
Bonjour le Forum, Bonjour tout le monde et bonne fin de semaine

Y a-t-il une discordance ou disharmonie entre les deux codes suivants.
Le 2ème code fonctionne bien quand le 1er code est désactivé.
Dès que le 1er code est activé, le 2ème code me donne "Erreur d'exécution '1004'; la méthode Select de la classe Worksheet a échoué"
Pouvez-vous m'aider?
Pour information, le 1er code est dans la feuille "MENU", quand au 2ème code ; c'est une macro

Merci d'avance pour votre participation
Voici les deux codes

1er code -----------------------------------

Private Sub Worksheet_Activate()
Dim Ws As Worksheet
Dim Sh As Worksheet
For Each Ws In Worksheets
If Ws.Name <> "MENU" Then
Ws.Visible = False
End If
Next Ws
End Sub

2ème code ---------------------------------------

Sub bulletin()
n = Replace(ActiveSheet.Name, "SAL", "")
Sheets("BULLETIN").[B7] = Val(n)
Sheets("BULLETIN").Select
End Sub
---------------------------------------

Lipadec
 
Re
Merci Bebere
Effectivement, la feuille bulletin est cachée, d'ailleurs toutes les feuilles sont cachées sauf "MENU".
Et quand je remplace 'select' par 'activate', au lieu d'avoir la feuille "BULLETIN" j'ai la feuille "MENU" comme au début
 
bonjour
Lipadec
il n' y a que menu qui est visible
ligne fautive n = Replace(ActiveSheet.Name, "SAL", "")
essaye ce qui suit

Code:
Option Explicit'oblige de déclarer les variables
Option Compare Text

Sub bulletin()
Dim n As Long
Application.EnableEvents = False
n = Replace("Sal11", "Sal", "")
Sheets("Bulletin").Visible = True
Sheets("Bulletin").[B7] = n ' Val(n)
Sheets("Bulletin").Activate 'Select
Application.EnableEvents = True
End Sub
ps:avec un fichier c'est plus facile
 
Bonjour le Forum et bon Dimanche

Merci Bebere pour ta réponse. Ton nouveau code ne donne plus l'erreur mais le bulletin s'ouvre tjs sur le 11 à la cellule B7
Pour que le module me donne la réponse que je veux, j'ai remplacé :

n = Replace("Sal11", "Sal", "") par
n = Replace(ActiveSheet.Name, "SAL", "") et le tour est joué.

Donc le nouveau code devient :
Option Explicit 'oblige de déclarer les variables
Option Compare Text

Sub bulletin()
Dim n As Long
Application.EnableEvents = False
n = Replace(ActiveSheet.Name, "SAL", "")
Sheets("BULLETIN").Visible = True
Sheets("BULLETIN").[B7] = n ' Val(n)
Sheets("BULLETIN").Activate 'Select
Application.EnableEvents = True
End Sub

Maintenant le module fonctionne bien et je te dis merci beaucoup car il n'y a plus d'erreur.

Lipadec
 
- 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
5
Affichages
232
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
426
Retour