Peut-on faire une capture automatisée d'une partie et l'extraire en pdf
re,
vous êtes sûr que votre chemin est correct ??? Tous les accents, les éspaces, les "_", ...
"C:\Users\vodor\Desktop\Challenge_National_épreuves_sportives"
Y-a-t-il un espace entre "Challenge_" et "National" ?
Essayez "C:\Users\vodor\Desktop\Challenge_ National_épreuves_sportives" avec cette espace supplémentaire
mille excuses !!!!
C'est exactement ça !!!!
Bien vu, merci, je viens de corriger mon dossier dans le bureau : y'a plus d'espace ;-)))))
J'ai vraiment besoin d'aide car j'ai essayé de fusionner les 2 codes de Arturo83 et Galopin01
Plus rien ne va :-((((
Il faudrait changer le code VBA de Arturo83 car j'ai changé la feuille Prm pour mettre les nouvelles valeurs de Galopin01 (les colonnes ne sont plus les mêmes dans Prm)
Et je n'ai pas remis tout le code VBA de Galopin01 car je ne sais plus où aller :-((((((
Je suis désolé mais je suis perdu...
La fichier de référence c'est celui-ci :
Celui de Galopin01 avec les capture en PDF, celui-ci :
Encore désolé...
bonjour,
je te joins le même fichier modifié sans chemin. Comme ça tu trouveras tes pdf dans le même chemin que ce classeur.
Je l'ai renommé comme ça parce que je n'aime pas les noms trop longs et avec un nom comme ça dans mes archives je sais tout de suite même des années après de quoi il est question.
Mais tu peux rebaptiser ce classeur à ta sauce.
Pour voir le code (et le modifier) dans VBA. Faire un clic droit sur "Saisie" dans le Gestionnaire de Projet
Je le rappelle ici :
Option Explicit
Private Sub CommandButton1_Click()
Dim FileN$
Me.Hide
Masquer
FileN = "testmacro.pdf"
[TabRes].ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileN, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Unload Me
Columns("E:BZ").EntireColumn.Hidden = False
End Sub
Private Sub Masquer()
Dim Arr, k%
Arr = [RefCol].Value
With ActiveSheet
.Columns("E:BZ").EntireColumn.Hidden = True
For k = 1 To 11
If Me.Controls("CheckBox" & k).Value Then .Columns(Arr(k, 4)).EntireColumn.Hidden = False
Next
End With
End SubJe redonne aussi le code original pour le pdf de la feuille. C'est à toi de rajouter les évènementiels de feuille (Change, Sélection_Change, Calculate et autres) si nécessaire.
Option Explicit
Private Sub CommandButton1_Click()
Dim FileN$
Me.Hide
Masquer
FileN = "testmacro.pdf"
[TabRes].ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileN, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
Unload Me
Columns("E:BZ").EntireColumn.Hidden = False
End Sub
Private Sub Masquer()
Dim Arr, k%
Arr = [RefCol].Value
With ActiveSheet
.Columns("E:BZ").EntireColumn.Hidden = True
For k = 1 To 11
If Me.Controls("CheckBox" & k).Value Then .Columns(Arr(k, 4)).EntireColumn.Hidden = False
Next
End With
End SubEn cas de difficulté tu peux me joindre en phonie sur Facebook à l'addresse que je te mets en MP.
A+
Bonjour Galopin01,
Merci beaucoup.
Je vais tenter tout ça... ce soir, car au boulot je n'ai pas accès au net ;-))))
Encore merci...
Bonne journée :-)))))
J'ai commencé à regarder... je crois que ça va être compliqué car je n'ai pas les options que tu m'as indiquées dans le gestionnaire de projet (mais c'est normal puisque tu as pris ton classeur comme référence) :
En effet, je m'appuie sur le classeur d'Arturo83 (que je prends comme référence) et j'essaye de le modifier afin d'intégrer ta solution avec la gestion des PDF...
Mais bon, je vais continuer à étudier tout ça... Et je trouverai bien une solution un jour ou l'autre :-))))
Je continue en tout cas, mes investigations ;-)))))
Les 2 codes VBA que tu m'as envoyés dans ton dernier message semblent exactement identiques ;-)))))
à bientôt :-))))))
J'ai essayé de faire la synthèse des 2 sur le fichier de Bart. Pas sûr qu je n'aie pas oublié quelque chose.
Attention aussi à la zone nommée dans le Gestionnaire de nom : Elle est définie jusqu'à la ligne 72 si tu rajoutes des lignes ça ne marchera plus.
Ton tableau à un gros défaut les lignes vides. Excel ne reconnait pas les lignes vides dans les tableaux.
Tu dois changer ton approche des tableaux Excel et respecter cette règle respectée par la plupart des connaisseurs : Un tableau doit être déclaré dans le gestionnaire de nom.
- Sans ligne vide
- avec une première colonne iD numérotée de 1 à N+1 (et sans doublons
- Avec des en-têtes de colonnes tous différents (Pas de CLT ni de pts à répétition )
... et trouver des noms de fichiers de moins de 12 caractères !
A+
Bonsoir Galopin01 et merci de continuer de m'aider :-)))))
Il n'y aura plus de cellule vide quand j'aurai fini tous mes essais ;-))))
J'avais essayé d'incrémenter des lignes et en principe je peux dépasser les 72 lignes, c'est en illimité... mais tu m'inquiètes... Je v faire d'autres essais.
Le générateur de pdf ne fonctionne pas, j'ai essayé et ça donne ça au débogage :
Mais c'est peut-être que je n'ai pas mis le chemin d'accès pour y enregistrer les pdf
Ce chemin c'est : C:\Users\vodor\Desktop\Perf
Mais je ne sais pas où l'insérer dans ton code :-((((((((((((((((((
Et je n'ai que les colonnes de A à D qui s'affichent
Les dates automatiques dans les colonnes "Date Perf" ne fonctionnent plus mais c'est normal puisque tu avais changé la feuille "Prm" et insérer une colonne "A"
Mais je ne sais pas où agir pour rectifier le code de Arturo83 (donc la colonne A devient la B et la B devient la C) :
Merci :-))))))
à +
C'est corrigé.
Normalement le tableau devrait s'étendre automatiquement en cas d'ajout de ligne, mais pour la feuille Prm elle doit être mise à jour régulièrement.
Pour le nom du fichier et le chemin
FileN = "testmacro.pdf" 'c'est ici qu'on doit modifierle nom du fichier et le cheminMais ce n'est pas utile d'indiquer un chemin si tu gardes le même dossier que ce classeur.
A+
Bonjour et merci bcp :-)))))))))))))))
C'est parfait... Ca ne marchait d'ailleurs pas mais en mettant le chemin, ça fonctionne ;-)))
Juste, je n'ai plus la sélection quand je clique dans "Enregistrement PDF", c'était rassurant pour mieux voir ce qui va être capturé ;-))
Et j'aimerais car c'est le but de l'opération, qu'avant capture, un tri automatique (du plus petit au plus grand) se fasse sur la colonne "CLT" du choix effectué.
Exemple : je sélectionne "Pompes", une sélection des colonnes me permette de voir un tri "CLT" qui se fait...
Et dernière chose, mais je ne sais pas si c'est compliqué à faire, si je sélectionne "Pompes", le pdf généré s'appellerait par exemple ""Classmt Pompes". Et ce pour chaque épreuve. En l'état, chaque nouvelle sélection écrase le seul pdf qui se trouve dans mon dossier "Perfs". Or je voudrais garder chacun des PDF générés.
Désolé si j'en demande bcp mais c'est important pour nous !
Encore mille mercis pour tes précieux conseils et la résolution d'un travail complexe ;-))))
Bonne journée :-)))))
à +
Voire si Bart est motivé pour ça ?
Moi pas trop !
Bonjour Galopin01 :-))))
Tu m'as déjà extrêmement bien aidé !!! :-)))))
Merci encore :-))))))))))))
Bonne continuation...
Il n'est pas prévu d'aperçu avant enregistrement avec cette méthode. Seule la méthode avec présélection d'une zone permettait de visualiser facilement cette zone.
Donc je pense que tu dois conserver cette méthode de coches. De même ton système de nommage selon la sélection finirait par posr problème car tu te retrouverais rapidement avec une douzaine de pompe.pdf, traction.pdf donc tu dois réfléchir un peu plus à ton système de nommage ou d'archivage.
Par contre ce qui pourrait être fait facilement dans le système actuee , après enregistrement en tant que "testmacro.pdf" c'est d'ouvrir ce pdf. Ce qui fait que tu auras un visu immédiat de ce qui a été enregistré dans testmacro. Et tu auras aussitot la possibilité de l'enregistrer alors d'une autre manière qui te convient. Je pense que cette méthode est surement la plus pratique pour arriver à ton résultat. Sinon ça obligerait à des contorsions de programmation que je trouve peu pratiques...
Pour obtenir l'ouverture après enregistrement et pouvoir enregistrer à nouveau sous un autre nom il suffit de modifier dans le Userform la macro :
Private Sub CommandButton1_Click()
Dim FileN$
Me.Hide
Masquer
FileN = "testmacro.pdf"
[TabRes].ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileN, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= False 'à remplacer par True
Unload Me
Columns("E:BZ").EntireColumn.Hidden = False
End SubAvec :
OpenAfterPublish:= TrueTu seras donc dans le document enregistré que tu pourras alors réengistrer ou et comme bon te semble.
A+
Tu as raison, c'est beaucoup plus simple comme ça, j'ai fait l'essai !!! :-))))))))))))))))))))))
Merci bcp :-)))))))))))))
Je mets juste le fichier, à dispo en-dessous, car j'ai sollicité qqes collègues à toi pour un coup de main pour le reste, s'ils n'en n'ont pas marre de moi :
- J'aimerais, si ce n'est pas trop compliqué à programmer car c'est le but de l'opération, qu'avant capture, un tri automatique (du plus petit au plus grand) se fasse sur la colonne "CLT" du choix de l'épreuve sélectionnée.
- Et toute dernière chose : On va être plusieurs utilisateurs à utiliser ce fichier Excel. Peut-on créer un dossier sur le bureau d'un PC, nommé par exemple, "Perfs" en sachant que le chemin d'accès d'un PC à l'autre est forcément différent.
Pour l'instant on a cette commande :
Merci beaucoup :-)))))
C'est vrai que j'en demande bcp...
Le Bureau n'est pas un dossier ! C'est plutôt une peu comme une poubelle... Il ne devrait y avoir sur le bureau que des liens vers tes fichiers...
Quand tu crées un fichier sous Excel, où te propose-t-il d'enregistrer le nouveau classeur ?
Je suppose qu'en fait vous travaillez en réseau et que les collègues ont :
c:\Users\Toto
Je suppose que vous devez avoir un dossier partagé ?
De ce fait je ne sais pas trop répondre à ta question. Je te recommande de ne pas mettre de chemin dans le code mettre juste le nom "testmacro.pdf" et laisser chacun se débrouiller avec son organisation...
En fait ça dépend un peu comment vous travaillez quand vous partagez des fichiers. Mais si tu reste juste dans le dossier ou Excel enregistre, ça devrait le faire parce que ça m'étonnerait bien que les collègues aient accès à ton Bureau...
A+
Bonjour Galopin01,
On travaille en réseau fermé, intranet (nous n'avons pas internet), mais c'est très compliqué de mettre des fichiers sur les serveurs de notre administration pour des raisons de sécurité. Surtout des fichiers tels qu'Excel avec des macros qui peuvent cacher des virus. Ainsi, nous n'avons pas de dossiers partagés.
Donc je n'ai d'autres choix que de centraliser les données (avec un autre collègue de Paris, moi c'est Marseille) et ponctuellement, d'envoyer par mail en compressé ".rar" (pour éviter d'être rejeté par notre antivirus) aux autres établissements de sorte que chacun puisse générer ces pdf selon les besoins. Et bcp de collègues ne connaissent absolument rien à l'informatique, c'est pourquoi je voulais une solution très simplifiée d'accession aux pdf générés.
Les collègues ont effectivement un chemin proche de c:\Users\Toto
Et si je mets, comme tu le proposes, uniquement le nom "testmacro.pdf", comme je te l'ai dit plusieurs fois dans des messages précédents, eh bien le pdf ne s'enregistre pas, en tout cas chez moi à mon domicile:-(((
Encore merci pour tes précieux conseils :-))))
Bonne journée :-)))))))
Il n'y à aucune raison pour qu'il ne s'enregistre pas si tu ne mets pas de chemin. Tel quel sans aucune modification le pdf s'enregistre au même endroit que le fichier Excel.
En tout cas je n'en vois aucune.
Je te redonne le fichier que j'ai fais : Si tu crées un pdf il doit s'enregistrer et après il s'ouvre. Donc c'est bien qu'il est enregistré.
Mais encore une fois la place de tes fichiers c'est dans vodor. Y compris le dossier "perfs"... Pas dans la poubelle ! (ni sur le bureau...)
Après tu fais un raccourci sur le bureau si tu veux...
A+
Bon en fait, avec cette nouvelle version j'ai constaté un modification du comportement du prog. En fait le pdf ne s'enregistre plus dans le répertoire du classeur dans mon répertoire Excel qui est à la racine de tous mes fichier Excel (Euh j'en ai plusieurs centaines de milliers donc je suis obligé d'avoir une structure assez élaborée pour m'y retrouver...)
Pourquoi a-t-il changé de place ? Mystère. En fait je pense que c'est le fait de l'enregistrer et de l'ouvrir qui rendent la main au gestionnaire Adobe qui fait... ce qui lui plait !
Donc pour définir ou il s'enregistre ou tu passes par l'explorateur Windows et tu fais une recherche. C'est rapide. Ou tu indiques le chemin que tu veux...
Pour le tri j'ai un peu de mal car ce classeur est vraiment mal foutu :
Le problème c'est cette ligne 1 qui sert à rien et les autres lignes en dessous qui parasitent également le système. Je ne peux pas te laisser un truc ou tu dois mettre à jour le VBA à chque fois que tu rajoutes une ligne ou une colonne !
Dans un truc comme ça moi je mettrai ce tableau de données tout seul dans la feuille, pour pas être embêté quand on veut sélectionner tout le tableau et sans être obligé de recoder tout le bouzin quand tu rajoutes une colonne ou une ligne. Donc pour l'instant je suis un peu bloqué.
En résumé ta ligne 1 : A supprimer quitte à faire un petit usf de recherche (ou un combo flottant) Et mon bouton d'impression aussi on pourrai le mettre flottant également ?
Bon je suis quand même arrivé à faire un tri mais il y a tout un tas d'autre questions qui s'enchevêtrent et comme je ne suis pas l'utilisateur final je ne vais pas perdre mon temps dans des hypothèses pour rien.
Donc maintenant pour aller plus loin j'ai besoin d'un brin de discussion en privé. Donc tu m'appelles un jour ou tu es en congé. Tout en sachant que pour ce WE c'est mort. Pour l'instant j'en resterai là.
