Excel VBA MAC-Excel (2019)
Re,
C'est quoi cette histoire d'impératifs imposés ?
Pour le nom il est possible d'utiliser la fonction left de VBA (équivalent de gauche) combinée avec la fonction Instr (équivalent de cherche) pour renvoyer le nom. Sinon, il est aussi possible d'utiliser la fonction split... Enfin, il y a des solutions.
Il est également possible d'attribuer à chaque agent un code court pour diminuer la longueur. Et il est possible d'avoir un numéro de commande de 4 à 5 caractères max.
Mais je vois pas bien pourquoi la longueur poserait problème honnêtement.
J'ai vu que tu avais joins un fichier mais j'évite d'en ouvrir quand je ne juge pas ça nécessaire. Je me souviens plus ou moins de la structure du fichier et tu vas peut-être changer d'avis sur certains points.
En tout cas, pour la plage Report : elle contient toutes les cellules qui se retrouveront dans le tableau SUIVI. Elles sont collées en respectant l'ordre dans lequel elles ont été sélectionnées (de mémoire) et il faut avoir autant de colonnes qu'il n'y a de cellules à archiver.
Pour créer une plage report, tu peux par exemple supprimer la précédente (gestionnaire de noms). Ensuite tu sélectionnes toutes les cellules que tu souhaites reporter dans l'ordre souhaité d'apparition à l'aide de la souris (pour sélectionner) et de la touche ctrl (à garder appuyée pour le maintient de sélection).
Une fois cette opération faite (quand tu as toute ta sélection désirée au complet), tu vas dans gestionnaire de noms ou définir un nom et tu définis le nom "Report" (ou tu peux le faire directement à l'aide de la barre de référence qui se trouve à gauche de la barre de formules en saisissant dedans, après avoir sélectionné les cellules, "Report").
RQ : Je mets des guillemets pour mettre en évidence le nom mais il ne faut pas en mettre. Et il faut saisir avec un "R" majuscule car dans le code, c'est comme ça que ce nom apparait.
RQ2 : Pour le tableau (qui, de mémoire, fait 15 lignes), tu peux le sélectionner d'un coup si toutes les cellules sont à archiver. Alors il traitera ligne par ligne. L'ordre sera donc cellule1 de ligne1, cellule2 de ligne1, ... puis cellule1 de ligne2 etcetera. Mais si tu souhaites enlever une colonne, alors il faudra respecter ce "ligne par ligne". Tu seras contraint à sélectionner pour chaque ligne (ce qui suit est un exemple) les 3 premières cellules puis les 2 dernières et idem sur les suivantes. A moins que tu ne changes l'ordre de tes colonnes dans SUIVI et que tu les organises de manière à sélectionner colonne par colonne...
J'ai essayé d'être clair, j'espère ne pas t'avoir embrouillé.
Merci 3Gb
Je relirai cela demain de manière plus reposé pour essayer de bien comprendre ce que tu a voulu m’expliquer.
je n’y connais vraiment rien j’apprends « sur le tas » comme on dit.
Non ce n’est pas un exercice, mais je respect le papier officiel de mon entreprise, ce fichier est pour me permettre une prise de commande simplifié et de gagner du temps pour les quelques agents dont je m’occuper, mais je dois respecter certaines obligations.
Je doute que la longueur des noms de fichier soit une réelle préoccupation pour ceux qui ont rédigé ce papier donc il suffit de ne pas respecter cette contrainte en expliquant sereinement qu'elle complique la réalisation du fichier et le tour est joué
A bientôt,
non en effet
mais pour les feuilles il semblerai que les nom d'un onglet ne peut dépasser 31 caractères
dans ma solution pour le nom de la feuille j'ai juste mis le NOM (Sans le prenom) Suivi de la date sous forme DD-MM
pour le PDF généré il est sous forme BC NOM Prénom et Date sous forme DD-MM-YY
ce qui regle partiellement le problème (A moins d'avoir une même commande le même jour ce qui semble plus que peu probable et dans ce cas la solution est de supprimer la feuille etrefaire la commande complète)
Salut nobodyuse,
Oui, le nom d'un onglet est limité en effet (et il faut en général choisir des noms brefs et simples, sans accent, ni caractère spécial, ni espace si possible) mais ça n'a aucune importance puisque ce fichier n'est pas prévu pour copier des onglets mais pour éditer des PDFs !!! Tu te souviens, c'était justement le point de départ de ma participation sur ce sujet avec un onglet éternel et une base.
Donc je le redis, les solutions avec duplication de feuilles ou de classeur sont des mauvaises solutions (de mon point de vue bien sûr
Quant au nom du pdf, c'est en effet déjà bien mais : il vaudrait mieux avoir BC YYMMDD Nom prenom pour le tri chronologique et encore mieux (ou idéalement) avoir un numéro de commande pour avoir un numéro unique et un tri correspondant à l'ordre d'édition BC NUMERO Nom Prenom ou BC YYMMDD NUMERO Nom Prenom.
En tout cas, il est possible de modifier cette contrainte du BC par agent par jour.
Cdlt,
En gros je gère un petit nombre d'agent a distance des bureaux qui regroupe les commande et s'occupe d'enregistrer et centraliser toutes les commandes.
j'ai opté pour un MIX des deux solutions la tienne avec l'archivage des données dans la feuille Suivi (que j'aimais bien) et la création d'une feuille pour archivage nommée BC+NOM+DD-MM (même si je sais que tu n’était pas favorable a cette option, mais qui été pour moi une idée qui me plaisais, j'ai mis l'option de verrouillage de cette feuille et j'ai même possibilité de la masquer si le nombre d'onglet devais être trop nombreux)
je ne peux pas prévoir un Numéro de BC car non prévu dans mon entreprise, eux gère avec NOM, Prénom, Immatriculation de l'agent et Date
de mon coté ce fichier me permet de garder un archivage de ce qui a été fait puisque le bon de commande au Format PDF sera envoyé aux bureaux qui s'occupe des commandes.
étant vraiment vraiment novice j'ai beaucoup de mal a trouver le code qui vas bien a intégrer pour éviter soit l'erreur excel en cas de doublons de feuille ou que le PDF soit écrasé si même NOM de PDF.
Oui mais la création d'un onglet supplémentaire pose problème également : il y a un nombre limité d'onglets par classeur (256 je crois). Il serait peut-être mieux de créer un nouveau fichier ne contenant que la feuille dans ce cas (ce qui revient donc à la solution PDF mais en double et sans la garantie d'avoir arrêté l'information).
Si je te conseille des solutions, c'est vraiment parce qu j'estime qu'elles sont meilleures. Et quand on "découvre" excel et qu'on est plongé dans son fichier, on a pas forcément le recul nécessaire pour voir toutes les possibilités ni tous les avantages et inconvénients des méthodes utilisées.
Ma seule question sera donc : qui va utiliser ce fichier ? Parce que les pratiques des entreprises s'installent à l'initiative de ceux qui les proposent et ne sont pas immuables. Ce n'est pas une contrainte objective à mon avis.
A plus,
J'ai prévu de faire un fichier par Année civile et au vu du nombre de points (en euros) attribué par Année a savoir 40 (juste cette année ou ce sera 80 puisque première année) et pour juste une petite vingtaine d'agents je devrai pas avoir de soucis du nombre d'onglets :D
ah mais je prend en compte tes conseils car oui tu a raison quand on découvre, on est bien loin d'avoir le recul nécessaire par manque de connaissance, après excel semble être un outils puissants aux nombreuses possibilités.
Ce fichier ne sera utilisé seulement par moi pour prendre et archiver localement, dans les bureaux ils ont j'imagine des outils pour cela mais auquel je n'ai pas accès
Et bien, vu que tu en seras le seul utilisateur ou l'utilisateur principal, alors tu n'as pas de contrainte ! Le seul objectif est de créer un fichier optimisé, qui te facilitera la vie.
Je pense qu'à terme, ce qui est facilement exploitable, c'est d'utiliser un onglet d'interface (BC) et une base en tâchant de regrouper l'information, de ne pas créer de duplication par agent, par résidence, par année, ... informations qu'il sera toujours possible de connaitre cependant en conservant un historique exhaustif des commandes.