Enregistrement des choix
Bonjour,
Je réalise un fichier pour automatiser des Plans de Prévention (bref).
Dans ce fichier il y a plusieurs pages dont une qui est : une liste. L'utilisateur doit cocher si oui ou non il est concerné pour chaque info(ligne) dans la liste ---> voir le cas en pièce jointe (page2)
Donc ce que je souhaite c'est :
- Si on est concerné on coche la case, - si non on ne coche pas la case (page 2 - Cellules C6; C7)
Si on est concerné (qu'on a coché la précédente case) on doit cocher une des trois cases à droite (page 2 - Cellules G6:I6 ; G7:I7)
Mon problème : Une fois qu'on a coché toutes les cases qu'il faut dans la liste : au moment d'enregistrer, en PDF, seules les cases cochées doivent être enregistré en PDF et le reste ne doit pas apparaître sur le PDF.
J'ai pensé à référencé une liste sur une autre page : quand on coche dans la page 2 ça renseigne la ligne dans un autre tableau sur une autre page (page 4 par exemple) et à la fin on enregistre uniquement la page 4. Mais je n'y arrive pas.
Ou alors lors ce qu'on automatise l'enregistrement du PDF il ne détecte seulement les cases cochées dans le tableau et toutes les lignes non cochées n’apparaissent pas.
Est-ce possible ?
Merci
Bonjour,
Il faudrait d'abord que ta case à cocher soit liée à une cellule ...
Une fois ceci fait pour toutes les cases à cocher (tu peux mettre une police d couleur blanche ou gris clair pour ne pas faire apparaître Faux ou Vrai), tu peux faire une sélection sur le colonne "Concerné ?" et éditer en pdf. Tu peux l'inclure dans la macro PassationPDF
Ok en gros quand j'enregistre en pdf il me faut toutes les colonnes de la ligne cochée (et rien si ce n'est pas cochée) :
Domaine / Phase dangereuse / Nature du risque / Mesure de prévention / "A PRENDRE PAR EU EE EE1 (avec la case cochée)"
Si je sélectionne uniquement le concerné ou non 1) ça m'affiche que la case soit sélectionner ou non 2) Je n'ai pas les autres colonnes
Sub PassationPDF()
Dim Chemin As String, NomFichier As String
NomFichier = Range("J2").Value & "_" & Format(Date, "dd") & "_Passation" & ".pdf"
'NomFichier = Range("J2").Value & "_" & Range("G2").Value & "_Passation" & ".pdf"
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ' Clic sur Ok
Chemin = .SelectedItems(1)
Else
' Clic sur Annuler
Exit Sub
End If
End With
der = Sheets("Passation").Range("$C" & Rows.Count).End(xlUp).Row
Sheets("Passation").Range("$C$3:$C$" & der).AutoFilter Field:=1, Criteria1:="VRAI"
Sheets("Passation").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "\" & NomFichier, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
ActiveSheet.Range("$C$3:$C$" & der).AutoFilter Field:=1
End Sub???!!! question de mise en pageSi je sélectionne uniquement le concerné ou non 1) ça m'affiche que la case soit sélectionner ou non 2) Je n'ai pas les autres colonnes
Oui sujet de mise en page mais le problème c'est l'automatisation.
Je m'excuse d'avoir laissé traîner une macro par là. Je vais essayer d'être un peu plus précis sur mon soucis je refais :
Je souhaite automatisé l'enregistrement en PDF de ce fichier (pas le même que dans mon 1er msg) :
-> Ma problématique je souhaite que ; uniquement les lignes cochées (dans la colonne "concerné ?" soit conservés lors de la conversion en PDF.
C'est à dire que toutes les lignes ou la colonne "concerné ?" n'est pas rempli ne doivent pas apparaitre dans le fichier PDF
-> Si on prend exemple, dans le fichier joint, le pdf est sensé me donner ça :
(Il garde uniquement les lignes avec la colonne "concerné ?" rempli par la case)
Je te remercie pour le temps que tu m'accordes
Sub pdf()
der = ActiveSheet.Range("$C" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("$C$3:$C$" & der).AutoFilter Field:=1, Criteria1:="X"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & "test", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
ActiveSheet.Range("$C$3:$C$" & der).AutoFilter Field:=1
End SubImpossible d'afficher les premières lignes ... titre ?
Évite de fusionner des cellules, quel intérêt ?
Je peux optimiser en redéfinissant la zone à imprimer ... après que tu aies résolu l'affichage des premières lignes.
C'est exactement ce que je souhaite faire!
Le bouton masquer/afficher le menu déverrouille/verrouille les volets en fonction du choix de la personne(c'est uniquement visuel pour prendre moins de place en haut au niveau du défilement de la liste)
Je suppose qu'une simple définition de zone d'impression devrait résoudre l'affaire ?
J'essaye de l'intégrer à tout mon fichier excel et je donne des nouvelles par la suite je te remercie
A plus tard
comme ceci
Sub pdf()
ActiveSheet.Rows("4:6").EntireRow.Hidden = False
der = ActiveSheet.Range("$C" & Rows.Count).End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "$B$1:$O$" & der
ActiveSheet.Range("$C$3:$C$" & der).AutoFilter Field:=1, Criteria1:="X"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & "test", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
ActiveSheet.Range("$C$3:$C$" & der).AutoFilter Field:=1
ActiveSheet.Rows("1:6").EntireRow.Hidden = True
End Sub