erreur 1004

GysExcèRoots

XLDnaute Nouveau
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

  • Classeur1.xlsm
    26.8 KB · Affichages: 21

job75

XLDnaute Barbatruc
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+
 
C

Compte Supprimé 979

Guest
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+
 
C

Compte Supprimé 979

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

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla