Enregistrement fichiers Excel + PDF dans certains dossiers avec conditions
Bonjour à tous,
Je fais appel à vous encore une fois (merci d'avance).
J'ai un gros bébé (bien trop gros pour moi) à traiter la.
Objectif / résumé : en appuyant sur un bouton sa enregistre tout le fichier en .XLSM puis après il enregistre en .PDF uniquement une page. Il doit enregistrer ces fichiers dans certains dossiers, si ces dossiers n'existent pas alors il les créer (nous allons être plusieurs à utiliser ce fichier sur des pc différents et l'équipe s'agrandi très vite...)
J'essaye de détailler au maximum. (ce VBA sera repris dans 5 fichiers différents)
->On appuis sur le bouton "Enregistrer & certificats" il lance le VBA suivant :
->Si le dossier "Panpan" n'est pas créé sur le bureau alors il le créé, si il est déjà créé, il passe à la suite.
->Dans le dossier "Panpan" il doit créer un dossier par nom de client (le nom du client se trouveras en G1 de la feuille "Données"), si le nom du client existe déjà alors il passe à la suite
->Dans le dossier de ce client il doit créer un dossier avec l'année en cours (2023 par exemple), si l'année est déjà créé alors il passe à la suite
->Dans le dossier de l'année il doit créer 2 dossiers : 1 dossier "Certificats" 1 dossier : "Fichiers Excel", si les fichiers sont déjà créé alors il passe à la suite
->On doit enregistrer dans le dossier "Fichiers Excel" tout le fichier sous ce format de nom (les cellules sont dans la feuilles "Données" et on enregistrer en .XLSM): H1_C1_C4_C6
->Attention il se peut que la cellule C6 soit vide, dans ce cas il doit enregistrer sous ce format de nom : H1_C1_C4 si pas vide alors il passe à la suite
->On doit enregistrer dans le dossier "Certificats" uniquement la feuille "1ère page" sous ce format de nom (les cellules sont dans la feuilles "Données" et on enregistre en .PDF): H1_C1_C4_C6
->Attention il se peut que la cellule C6 soit vide, dans ce cas il doit enregistrer sous ce format de nom : H1_C1_C4
Fin.
Mon fichier en PJ.
J'ai essayé de détailler au mieux, je vous remercie d'avance!
Bonjour à tous,
Un petit up ;) Un génie serait dispo?
Je bloque, je ne suis pas un des génies qui répond sur ce forum.
Le projet m'a l'air bien décrit et simple : je ne comprends pas pourquoi vous n'avez pas de réponse.
Il me semble que votre fichier exemple pourrait être complété par votre véritable objectif.
Il manque un fichier client. la seule données G1= "client test" est insuffisant.
Je ne suis pas spécialiste des boutons qui lancent des macros, je préfère laisser des macros qui est l'intelligence de l'automatisation
Après en intelligence VBA, rien de compliqué :
Créer un répertoire MkDir. tester l'existence d'un répertoire if Dir(cheminRepertoire, vbDirectory)<>"" Then Msgbox "Le repertoire existe déja"
Bonjour,
Je vous ai créé la macro qui, présente sur le fichier Excel à enregistrer, réalise les actions souhaitées.
Vous pouvez si vous voulez enregistrer la macro en un fichier .xlam et personnaliser le ruban de votre Excel pour lancer la macro sur n'importe quel fichier Excel (pas besoin de rajouter le code dans le fichier Excel à traiter), cependant la personnalisation du ruban avec cette macro intégrée doit se faire sur chaque poste des personnes susceptibles de lancer cette macro...
Sinon pour éviter de copier coller le code sur le fichier Excel a enregistrer en .xlsm et .pdf, vous pouvez également utiliser un fichier support qui contiendra la macro et ajuster le code pour dire de réaliser les actions voulues sur le fichier XXX présent dans tel dossier, ainsi vous aurez seulement à déplacer le fichier Excel à traiter dans le dossier et lancer la macro sur le fichier support.
Pour l'année j'ai pris en compte l'année présente dans la cellule F1
Un grand merci à toi je viens de tester tout fonctionne ! merci énormément !!!!
Super !! Bonne continuation
Bonjour c'est re moi,
Besoin de modifier un peu le code, svp :D
Dans le dossier "Panpan" il créé à la racine du dossier un fichier Excel se nommant "Migration" si ce dossier existe déjà alors il passe à la suite.
Il ouvre (ou pas si pas besoin) de mettre les valeurs suivant en 1 ère ligne : (ceci sera fait une seule fois à la création du fichier)
| A1 | Item# |
| B1 | Instrument Name* Type: Text Length: 255 characters Example: Gauge Block |
| C1 | Sl No. of Company* Type: Number Length: 255 characters Example: 1 |
| D1 | Instrument Category* Type: Text Length: 255 characters Example: Multimeter |
| E1 | Make Type: Text Length: 255 characters Example: Sauermann |
| F1 | Model Type: Text Length: 255 characters Example: J405 |
| G1 | Range Type: Text Length: 255 characters Example: 0 - 1000 |
| H1 | Type Type: Text Length: 255 characters Example: Digital |
| I1 | Serial No* Type: Text Length: 255 characters Example: 045852 |
| J1 | Tag No Type: Text Length: 255 characters Example: D 005 |
| K1 | Frequency* Type: Number Example: 2 |
| L1 | Frequency Span* Type: Day/ Week/ Month/ Yea Example: Year |
Ensuite, il vient chercher les cellules de A43 à L43 de la feuille "données" et il les colles sur la dernière ligne vide du fichier "Migration".
Puis il enregistrer le fichier Migration.
Le but c'est que à chaque fois qu'on fait un instrument il vienne remplir le fichier Migration.
Hello,
Petit up si quelqu'un sait comment faire en prenant le fichier de Flo Bru.
C'est normal si dans les cellules demandés il n'y a rien.
Merci d'avance.