• Initiateur de la discussion Initiateur de la discussion GysExcèRoots
  • 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 !

G

GysExcèRoots

Guest
Bonjour tout le monde,

Qui peut m'aider SVP. J'utilise un userform avec des champs à remplir et alimente des cellules spécifique dans le classeur de l'userform. Sauf qu'après enregistrement il doit sélectionner une feuille du classeur MAIS si un autre classeur est ouvert il me met le message d'erreur 1004 La méthode Select de la classe Worksheet à échoué.

Je souhaiterais que quand je clique sur le boutton, ce soit le fichier original qui s'"Enregistre sous" et non le classeur ouvert vu que je réduit la fenêtre original

Merci d'avance de votre aide
 

Pièces jointes

Bonjour GysExcèRoots, cathodique, Efgé,

En activant le ThisWorkbook on devrait éviter tout problème :
VB:
Private Sub CommandButton1_Click()
With ThisWorkbook
    .Activate
    .Sheets("Feuil1").Range("C4") = TextBox1
    Application.Dialogs(xlDialogSaveAs).Show TextBox1
    .Sheets("Feuil2").Select
End With
End Sub
A+
 
Bonjour le fil

Ou alors sans avoir besoin de l'activer ;-)
VB:
Private Sub CommandButton1_Click()
    With ActiveWorkbook
      With .Sheets("Feuil1")
        .Range("C4").Value = TextBox1.Value
        Application.Dialogs(xlDialogSaveAs).Show Me.TextBox1.Value
      End With
      .Sheets("Feuil2").Select
    End With
End Sub

A+
 
Bonjour Bruno,
Il faut activer ThisWorkbook car il a été dit :
Par ailleurs ActiveWorkbook n'a pas forcément une Feuil2 => bug.
A+

Alors il faut garder pour source le classeur contenant la macro et enregistrer une copie sous le nom de la Textbox
VB:
Private Sub CommandButton1_Click()
    With ThisWorkbook
      With .Sheets("Feuil1")
        .Range("C4").Value = TextBox1.Value
        Application.Dialogs(xlDialogSaveCopyAs).Show Me.TextBox1.Value
      End With
      .Sheets("Feuil2").Select
    End With
End Sub

A+
 
- 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

C
  • Résolu(e)
Réponses
2
Affichages
1 K
clarouche33
C
K
Réponses
12
Affichages
2 K
P
Réponses
4
Affichages
3 K
pierrot63270
P
Réponses
6
Affichages
2 K
O
Réponses
4
Affichages
2 K
Olic78124
O
Z
Réponses
2
Affichages
782
zoidberg
Z
P
Réponses
0
Affichages
1 K
Packers#12
P
Retour