Oui tout à fait. Dans l'ancien format elle n'est pas vidée de son contenu mais ça serait mieux si ça se fait ,)"Elle sert à "garnir" la feuille "print" qui est imprimée en même temps que la ligne est archivée (et vidée de son contenu?)"
Euh ... c'est tout de même ce que j'expliquais dans mon message #8 ... et dans le fichier qui a suivi ... un peu plus tard!La feuille "print" contiendra des formules? Imaginons qu'un de mes collègues ne veuille pas s'embêter, il ne pourra pas remplir cette feuille "manuellement" et l'imprimer à l'ancienne?
Eheh oui je comprends. À ma décharge le sujet évoquait ce que je cherchais : je ne pensais pas faire les macro en direct ici. Comment dois-je faire concrètement? Un post par sujet? (macro / recherche V/etc...?)Quand j'évoque l'utilité de sérier les questions, c'est par rapport à ce forum; en principe, une question = une discussion (déjà qu'en général, on insiste pour que le titre de la discussion puisse permettre aux demandeurs de faire des recherches ciblées et que Aide à la création d'un format - Bruxelles ne facilitera pas vraiment leur travail!). Essayons donc de ne pas "partir dans tous les sens" dans ce fil-ci.
Oui elle rempli la feuille "print" et s'archive dans la même feuille (sous la ligne "Archive de mon nouveau fichier). L'archive doit sûrement se faire en valeur pour éviter de descendre des formules. La ligne à remplir peut être vidée de son contenu si ce n'est pas compliqué à réaliser. Si le contenu reste ce n'est pas un problème.La ligne grise, une fois complétée, sera archivée dans la même feuille (dans la première ligne vide sous la ligne 7?) Elle sert à "garnir" la feuille "print" qui est imprimée en même temps que la ligne est archivée (et vidée de son contenu?)
Les utilisateurs utilisent des "X"Il faudra décider ce que l'utilisateur devra inscrire en P3, Q3 ou R3 pour que ça corresponde à tes cases à cocher en feuille "print": des 'x', 'oui', 'VRAI', etc. (idem en S3, T3 et U3)
Non à priori les utilisateurs vérifient avant de lancer la macro.Au moment du clic sur le bouton archiver/imprimer, y aura-t-il des vérifications à faire (champs obligatoires, doublons, erreurs d'encodage, validité de dates ou montants, etc.)
Oui ces validations viennent de la feuille "Liste de choix". J'ai indiqué dans le fichier ce qui est lié. Il n'y aura pas de doublon dans la "liste de choix".Dans l'ancienne feuille, il y avait:
des validations de données (en E3 et Q3)
des RECHERCHEV pour compléter certains champs, en fonction du nom du destinataire (R3 à U3) ... ceci suppose qu'il n'y aura pas de doublons dans la feuille liste de choix du fichier [Fichier_OP Sandra 2014.xls]... sera-ce bien le cas
C'est une erreur. Cette case est liée avec la case "Report (Code contrat)". Quand le code contrat est choisi de la "liste de choix", la case "Compte à débiter" est automatiquement remplie.une RECHERCHEV en L4 (??)
Cette macro peut disparaître. D'autant que lorsque la ligne est récupérée de l'archive, elle risque d'effacer les formules de la ligne à remplir.un bouton pour "récupérer" (en ligne grise ?) une ancienne ligne archivée (attention: pour ce dernier point, comme pour les RECHERCHEV en ligne 3, il faut que les données (ici, en colonne B Ref. person./ Persoon. ref.) ne contiennent que des valeurs uniques (sans doublons)!
Lorsque j'enregistre le fichier, quel format choisir? Je ne vois pas excel 2010... (ce genre de question doit faire l'objet d'un nouveau post c'est ça que tu m'expliquais plus haut?les macros qui étaient associées aux deux boutons ont disparu du fichier (puisqu'enregistré au format .xlsx). Il n'y avait pas des choses intéressantes et/ou "récupérables" dans ce code? On refait à partir de rien?
Ah ben ça, je ne pourrai pas en faire autant!pierrotfrenay à dit:je resterai connecté toute la journée demain
Non pas de problème on mettra les collègues au courant.En définitive, personne ne souhaite pouvoir encoder dans une fenêtre qui ressemblerait au formulaire à imprimer?
Tout le monde a Office 2010 donc celui-ci, avec l'extension macro (tu m'apprends des choses)Au format exclusivement 2010, le format par défaut est '.xlsx'; si on veut se garantir la prise en charge des macros, il faudrait utiliser une extension '.xlsm'. On choisit quoi?
ça s'est effacé quand j'ai copié le formulaire. Bizare, je vais les remettreDans la feuille print de ton nouveau fichier, il n'y a plus de cases à cocher pour les Frais bancaires et Mode de paiement
Effectivement je vais fusionner les cellules si ça ne pose pas de problèmeLe champ "Motif du paiement" en Feuille "à remplir" correspond à une cellule ... dans la feuille "print", il y en a 4!? On ne remplit que la première?
OK c'est bon à savoir aussi ,)Une fois les formules, validations, cases à cocher, ... créées, il faudra uniquement faire des "enregistrer sous" du fichier. Ne pas copier une des feuilles dans un autre classeur!
Tu penses à tout...Quand j'évoquais des vérifications et contrôles, je pensais à gérer les cas où plus d'une case à cocher serait activée, le montant ne serait pas renseigné, une date en colonne A serait manquante (et il y a au moins une colonne où il faudra que quelque chose soit toujours encodé, pour déterminer dans quellle ligne on archivera!)
N'oublions pas non plus qu'au moment d'imprimer, on efface le contenu de la ligne (sauf les formules!) ... s'ils ont été à peine un poil distraits, il devront vraiment tout recommencer
Au moment de leur confirmation c'est très bienpar contre, s'ils corrigent, ils corrigent aussi la ligne déjà archivée? ... Ou alors on n'archive qu'au moment de leur confirmation qu'on peut effacer le contenu de ligne 3?
=SI(MAJUSCULE('à remplir'!X3)="X";"þ";"¨")
=SI(MAJUSCULE('à remplir'!Y3)="X";"þ";"¨")
Sub imprArchive()
Sheets("Print").PrintPreview 'aperçu avant impression
'Sheets("Print").PrintOut 'lancer l'impression directement
Sheets("à remplir").Activate
efface = MsgBox("Voulez-vous archiver la ligne 3 et effacer son contenu?", vbYesNo, "Confirmation")
If efface = vbYes Then
With Sheets("à remplir")
.[11:11].Insert Shift:=xlShiftDown, CopyOrigin:=xlFormatFromRightOrBelow
.[A3:Y3].Copy
.[A11].PasteSpecial Paste:=xlPasteValuesAndNumberFormats 'coller valeurs et formats des nombres
Application.CutCopyMode = False
mab 'appel procédure effacement
.[A3].Activate
End With
End If
End Sub
Sub mab() 'mise à blanc ligne 3
With Sheets("à remplir")
Union(.[A3:J3], .[L3], .[R3:Y3]).ClearContents
End With
End Sub
Parce que j'ai tout de même travaillé, tu n'as pas vu mais j'ai tout de même effacé 3 lignes de la feuille "print"Je ne sais pas pourquoi tu joins une version actualisée du fichier (... avec juste tes commentaires en moins )
la validation avec un x ou un rien c'est très bien pour ces 6 cellules.Je n'ai fait que les validations dont "j'avais besoin" ... Il me semble que j'en mettrais pour les 6 cellules qui ne devraient contenir que des 'x' ou rien!
- J'ai ajouté les données financières dans la "liste de choix", mais est ce qu'il est aussi possible lors du remplissage de la ligne de ne pas choisir parmi la liste de validations et d'écrire son texte? Pour l'instant qd j'essaie ça me met : "un utilisateur a restreint les données que peut prendre cette cellule". Si ce n'est pas possible je dois réfléchir ; ici chacun a son format et sa manière de le remplir.Les Plan comptable, Secteur, Section, etc. ... il me semble qu'il y avait aussi des validations dans la première version? À vous de voir en interne
- Comment faire des validations pour les dates et les montants? Je ne vois pas bien ce que tu veux direPeut-être pour les dates aussi, ainsi que les devises, pourquoi pas les montants?
C'est sûr que je vais pas te dire de garder l'ancienne méthode. Je suis pas contre certain points de décroissance, mais là c'est ok je gardePour les cases à cocher, je propose une autre méthode (si tu péfères les "cases à cocher comme avant", on peut aussi, bien sûr!):
Où dois-je placer la chose?Ce code remplace le précédent:
ça me va très bien ,)Attention: à ce stade, si après l'aperçu, l'utilisateur décide de ne pas effacer le contenu, la ligne n'est pas archivée. Ce n'est pas lié au fait que dans l'aperçu ils ont décidé (ou non) d'imprimer!
C'est sympa cette validation mais je ne suis pas sûr qu'ils encodent seulement les dates du jour. Par contre j'avais vu dans un autre format qu'il était possible d'écrire, par ex. : 25022015 et s'affiche la date sous la forme : 25/02/2015. Tu sais comment faire?En A3, on ne peut (par exemple) pas encoder de date postérieure à la date actuelle. Plus important encore, sans doute, on ne peut pas encoder quelque chose qui ne serait pas une date valide (30/2/14, 14 fevrier 2015, 14/0220015, 14/2/015 ... et j'en passe!
GénialEn C3, la liste des items repris en feuille 3 apparaît. Cette fois, regarde l'onglet "Alerte d'erreur" dans la "Validation des données". On informe l'utilisateur, mais on autorise la saisie d'un texte différent! (par défaut, le Style d'alerte d'erreur est "Arrêt")
Idem. J'ai refait pour les 3 suivantsEnT3, U3 et V3, j'ai utilisé (toujours dans la validation) une formule pour que ne soient autorisés que des 'x' et qu'il ne puisse y en avoir qu'un pour les 3 cellules!
Quand rien n'est sélectionné, c'est le début de liste qui s'affiche (... sauf si la Source de la validation contient des cellules vides comme tu l'as fait pour Section en G3)mais comment as-tu fait pour que la liste déroulante commence au début de la liste et pas au milieu?
J'ai comme le sentiment qu'il y a un quiproquo depuis le débutLa ligne n'est pas encore liée à la feuille print. J'imagine que c'est le code vba que tu vas modifier.