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

[MACRO] probléme d'export de feuilles masqué

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

T

Totof91

Guest
Bonjour Forum,

J'ai un petit souci avec ma macro d'export de feuille excel.

Celle-ci fonctionne parfaitement si l'onglet est visible mais si je masque celui-ci il n'arrive plus à faire l'export et donc "page inexistante" :

Code:
Private Sub Btnvalider_Click()
  Dim strChemin As String
  Dim strNomFic As String
  Dim Lg
  
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  ' Si le nom du fichier n'est pas saisi, message alerte et on ne fait rien
  strNomFic = TextBox1.Value
  If strNomFic = "" Then
    MsgBox "Le nom du fichier doit être saisi", vbCritical, "Enregistrement impossible"
    Exit Sub
  End If
  If strChemin = "" Then strChemin = ThisWorkbook.Path
  ' Copie en Excel
  Lg = Application.Match(TextBox1, Range("Extraction"), False)
  If Not IsError(Lg) Then
    If Range("Extraction").Cells(Lg, 2) <> "" Then
      On Error Resume Next
      Sheets(Format(Range("Extraction").Cells(Lg, 2), "@")).Copy
      If Err = 0 Then
        ActiveSheet.SaveAs strChemin & "\" & strNomFic
        ' Fermer le fichier sauvegardé
        ActiveWorkbook.Close
      Else
        MsgBox "Page inexistante"
      End If
    Else
      MsgBox "Page non définie"
    End If
  End If
  On Error GoTo 0
  
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True

En vous remerciant par avance pour votre aide.

Totof
 
Dernière modification par un modérateur:
Re : [MACRO] probléme d'export de feuilles masqué

Bonjour;

vu ton fichier, nom des onglet et ce qui est présent sur tes feuilles, perso je ne vois pas du tout le résultat attendu... sans doute tout ceci mérite un peu plus d'explication...

bon après midi
@+
 
Re : [MACRO] probléme d'export de feuilles masqué

Bonjour Pierrot,

J'ai pris le mon probléme par un autre bout 😎

Code:
Option Explicit

Private Sub Btnvalider_Click()
  Dim strChemin As String
  Dim strNomFic As String
  Dim Lg
  
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  ' Si le nom du fichier n'est pas saisi, message alerte et on ne fait rien
  strNomFic = TextBox1.Value
  If strNomFic = "" Then
    MsgBox "Le nom du fichier doit être saisi", vbCritical, "Enregistrement impossible"
    Exit Sub
  End If
  If strChemin = "" Then strChemin = ThisWorkbook.Path
  ' Copie en Excel
  Select Case Sheets("BDD").Range("M1")
     Case "Vente Janvier":      Sheets("1").Copy
     Case "Vente Fevrier":      Sheets("2").Copy
     Case "Vente Mars":         Sheets("3").Copy
     Case Else
       MsgBox "Page inexistante"
        Exit Sub
  End Select
        ActiveSheet.SaveAs strChemin & "\" & strNomFic
        ' Fermer le fichier sauvegardé
        ActiveWorkbook.Close
        
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  

End Sub

J'ai besoin de votre aide pour afficher l'onglet "1" et le masquer une fois l'export terminé.

Je crois les doigt pour que vous compreniez mon probléme 🙁

Merci !
 

Pièces jointes

Re : [MACRO] probléme d'export de feuilles masqué

Re,

regarde peut être ceci :
Code:
With Sheets("1")
    .Visible = xlSheetVisible
    .Copy
    .Visible = xlSheetHidden
End With
ActiveSheet.SaveAs ThisWorkbook.Path & "monfichier.xls"

@+
 
Re : [MACRO] probléme d'export de feuilles masqué

MERCI !

Ca fontionne parfaitement.

Comment peux-t'ont faire pour réaliser la même chose avec 2 ou 3 feuilles masqué (Onglet 1, 2 et 3)

Code:
Option Explicit

Private Sub Btnvalider_Click()
  Dim strChemin As String
  Dim strNomFic As String
  Dim Lg
  
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  ' Si le nom du fichier n'est pas saisi, message alerte et on ne fait rien
  strNomFic = TextBox1.Value
  If strNomFic = "" Then
    MsgBox "Le nom du fichier doit être saisi", vbCritical, "Enregistrement impossible"
    Exit Sub
  End If
  If strChemin = "" Then strChemin = ThisWorkbook.Path
  ' Copie en Excel
  Select Case Sheets("BDD").Range("M1")
     Case "Vente Janvier":
     With Sheets("1")
    .Visible = xlSheetVisible
    .Copy
    .Visible = xlSheetHidden
    End With
     Case Else
       MsgBox "Page inexistante"
        Exit Sub
  End Select
        ActiveSheet.SaveAs strChemin & "\" & strNomFic
        ' Fermer le fichier sauvegardé
        ActiveWorkbook.Close
        
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  

End Sub

MERCI Beaucoup
 
Re : [MACRO] probléme d'export de feuilles masqué

Re

peut être comme ceci :
Code:
Dim t() As Variant, i As Byte
t = Array("1", "2", "3")
For i = 0 To UBound(t, 1)
    With Sheets(t(i))
        .Visible = xlSheetVisible
        .Copy
        .Visible = xlSheetHidden
    End With
ActiveSheet.SaveAs ThisWorkbook.Path & "monfichier" & i + 1 & ".xls"
ActiveWorkbook.Close
Next i
 
Re : [MACRO] probléme d'export de feuilles masqué

Pierrot,

Je n'arrive pas à adapter ce bout de code à mon fichier.

J'ai réussi à moitié à le faire marche 1 fois 😱

Code:
Option Explicit

Private Sub Btnvalider_Click()
  Dim strChemin As String
  Dim strNomFic As String
  Dim Lg
  
  Application.ScreenUpdating = False
  Application.DisplayAlerts = False
  ' Si le nom du fichier n'est pas saisi, message alerte et on ne fait rien
  strNomFic = TextBox1.Value
  If strNomFic = "" Then
    MsgBox "Le nom du fichier doit être saisi", vbCritical, "Enregistrement impossible"
    Exit Sub
  End If
  If strChemin = "" Then strChemin = ThisWorkbook.Path
  ' Copie en Excel
  Select Case Sheets("BDD").Range("M1")
     Case "1", "2", "3"
Dim t() As Variant, i As Byte
t = Array("1", "2", "3")
For i = 0 To UBound(t, 1)
    With Sheets(t(i))
        .Visible = xlSheetVisible
        .Copy
        .Visible = xlSheetHidden
    End With
    Next i
         Case Else
       MsgBox "Page inexistante"
        Exit Sub
  End Select
        ActiveSheet.SaveAs strChemin & "\" & strNomFic
        ' Fermer le fichier sauvegardé
        ActiveWorkbook.Close
        
  Application.DisplayAlerts = True
  Application.ScreenUpdating = True
  

End Sub

Merci pour ton aide
 
Re : [MACRO] probléme d'export de feuilles masqué

Bonjour Pierrot !

C'est enfin résolu 😛

Par contre la listbox se fige une quinzaine de seconde après l'export, si tu as une petite idée je suis preneur sinon ce n'est pas si grave 😎

Voir fichier ci-joint.

Merci pour ton aide
 

Pièces jointes

- 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

  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…