Sauvegarde fichier suivant plusieurs sélection
Bonjour le forum
Je suis bloqué avec ce code:
'2- PROCEDURE SAUVEGARDE DES FEUILLES EN FORMAT PDF
Private Sub Btn_SaveFichierPDF_Click()
Dim LaDate As String
Dim LeNFichier As String
Dim LeRep As String
Dim I As Integer
Application.ScreenUpdating = False
Rep = MsgBox("Etes-vous certain de vouloir Enregistrer sous ce nom ?", vbYesNo + vbQuestion, "Sauvegarde du Fichier en PDF ")
If Rep = vbYes Then ' Si réponse positive alors faire la sauvegarde de toutes les feuilles visibles
LeRep = Sheets("DATA").Range("B2").Value 'Répertoire de destination pour la sauvegarde'
LeNFichier = (FRM_Gestion.Txt_Datesave.Value & "_" & FRM_Gestion.TxtNom_Fichier.Value) 'Nom du fichier de sauvegarde
MsgBox (FRM_Gestion.Txt_Datesave.Value & "_" & FRM_Gestion.TxtNom_Fichier.Value) 'Affichage chemin et nom du fichier
On Error Resume Next
For I = 1 To Sheets.Count 'Début de la sélection des feuilles de sauvegarde suivant si G3 n'est pas vide
If I < 3 Then
Sheets(I).Visible = False 'Les 3er feuilles sont cachées
Else
Sheets(I).Visible = False ' Les feuilles sont cachées
For Each Cell In Sheets(I).Range("g3:G300") 'Pour chaque feuille
If Cell = CBO_Maintenance.Value Then Sheets(I).Visible = True 'La feuile est visible
Next Cell
End If
Next I
ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=LeRep & LeNFichier & ".pdf" 'Sauvegarde du fichier en format PDF
For I = 1 To Sheets.Count
Sheets(I).Visible = True
Next I
Else
If Rep = vbNo Then Exit Sub ' Si réponse Négative sortie de procédure
End If
MsgBox "Sauvegarde PDF réalisée", vbInformation
Sheets(2).Visible = True
For I = 3 To Sheets.Count
With Sheets(I)
.Range("B3").AutoFilter Field:=6 'Suppression du filtre des Tableaux de toutes les feuilles
End With
Next
Sheets("DATA").Visible = False 'Cache la feuille DATA
Sheets("ADMINISTRATEUR").Activate 'Le fichier se repositionne en feuille 2
Application.ScreenUpdating = True
End Subj'aimerais pouvoir prendre en compte la colonne .Range("I3:I300") avec comme critère "O" .
je vais tenter me m'expliquer
le but au départ est de sauvegarder les feuilles dont la colonne .Range("g3:G300") = CBO_Maintenance.Value donc pour cela les feuilles sont rendu visibles.
dans le cas contraire elles sont invisibles .
La sauvegarde du fichier se réalise parfaitement.
Ce que je souhaite maintenant , c'est que si dans .Range("I3:I300"), il y a la valeur "O", alors la ligne devient invisible.
J'ai bien essayé de mettre un filtre sur la colonne Range("I3:I300"),avec comme critère du filtre la lettre "O", mais cela ne résoud pas mon problème, puisque dans .Range("g3:G300") il y a toujours la valeur. et qui doit y rester
Je ne suis pas capable pour l'instant de vous mettre mon fichier, il y a trop de données confidentielles.
Si un membre à une solution à me proposer, je le remercie d'avance
bonne soirée à tous
Bonjour ledzep,
Sans conviction ...
un essai ...
For I = 1 To Sheets.Count 'Début de la sélection des feuilles de sauvegarde suivant si G3 n'est pas vide
If I < 3 Then
Sheets(I).Visible = False 'Les 3er feuilles sont cachées
Else
Sheets(I).Visible = False ' Les feuilles sont cachées
For Each Cell In Sheets(I).Range("g3:G300") 'Pour chaque feuille
If Cell = CBO_Maintenance.Value Then Sheets(I).Visible = True 'La feuile est visible
Next Cell
For Each Cell In Sheets(I).Range("i3:i300") 'Pour chaque feuille
If Cell = "O" And Cell.Offset(0, -2) <> CBO_Maintenance.Value Then Cell.EntireRow.Hidden = True 'La ligne est masquée
Next Cell
End If
Next Iric
bonjour le forum
Merci ric pour ta proposition,
Pour la tester, ce ne sera pas avant une bonne semaine.
Mon emploie du tps vient de changer 🥵
De toute façon, je vais préparer un fichier.
Bien plus pratique pour solutionner ce problème 🤤
J’espère que tu suivras le post
Merci encore pour ton aide
A bientôt les dévoués du forum 🤗
Et à tous ceux qui le visite.