Projet fichier Excel ... en VBA ?
Bonjour,
Je recherche de l'aide sur la construction d'un fichier excel dans le cadre de mon emploi. Je joins le fichier exemple sur lequel j'ai déjà effectué quelques manipulations, notamment en VBA, pour tenter d'obtenir ce que je souhaite.
Je vais essayer d'être le plus clair possible de mes demandes, en m'excusant à l'avance si ça ne l'est pas
Il y a un onglet "BASE" contenant toutes les informations utiles. Le second onglet "CUI" doit servir à imprimer (pdf pour sauvegarde+mail) un état des lieux.
Dans l'onglet "BASE", la colonne D sert à identifier le nom prénom d'une personne qui va être accompagné par une ou deux personnes identifiées entre les colonnes N et W.
Pour l'instant j'ai réussi (grâce à ce forum) à établir un code vba pour que lorsque je place A ou B dans la cellule AG (ou en cliquant une fois que cela est écrit), cela remplisse les champs des feuilles A ou B.
Mon premier problème est que cela n'est pas très pratique car dès que je passe sur la cellule avec les flèches par exemple cela me lance cette procédure. Donc existe-t-il un autre moyen pour pouvoir déclencher cette procédure qui est attribuée à une ligne du tableau.
De plus, des modifications régulières peuvent être effectuées sur l'accompagnement des personnes, je souhaiterais que la date (colonne B) puisse être mise à jour à chaque fois que la procédure sera enclenchée. L'idéal en plus serait de pouvoir visualiser combien de modifications ont été faites (en nombre car les modèles seront sauvegardés à chaque fois), c'est pour cela que j'étais parti sur cette idée de cellule Action (colonne AG).
J'espère ne pas être trop confus, je répondrai à toutes les questions. J'aurai d'autres demandes par rapport à ce fichier mais je préfère les faire par étapes
Un grand merci d'avance
Bonjour
tifan a écrit :existe-t-il un autre moyen pour pouvoir déclencher cette procédure
Au lieu de mettre ta procédure dans la macro :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)Tu pourrais la mettre dans la macro :
Private Sub Worksheet_Change(ByVal Target As Range)et elle se déclencherait chaque fois que tu valides la cellule de la colonne AG.
Tu pourrais aussi la mettre dans la macro :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)et elle se déclencherait chaque fois que tu ferais un double clic dans cette même cellule.
Autre possibilité : créer un bouton sur lequel tu cliques après avoir sélectionner une cellule de la ligne concernée. Mais là, il faut un peu adapter ta procédure.
L'idéal en plus serait de pouvoir visualiser combien de modifications ont été faites (en nombre car les modèles seront sauvegardés à chaque fois
Pour cela, il faut savoir où aller pêcher ce nombre...et comment tu souhaites le visualiser...
Bye !
Bonjour gmb et merci beaucoup,
C'est top comme procédure que celle de double-cliquer dans la case.
Pour être honnête je ne connais pas grand chose au vba et j'ai pour l'instant recopier des formules trouvées à droite et à gauche.
Serait-il possible d'appliquer ce double-clique à d'autres cellules que AG.
Je tente de m'expliquer, pour obtenir le modèle A, double-cliquer sur la colonne P ; pour obtenir le modèle B, double-cliquer sur la colonne U etc..
Et si possible m'expliquer les termes de cette ligne :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Que j'essaye de comprendre comment cela fonctionne
Merci d'avance
Demande complémentaire,
sur les deux modèles (A et B), une deuxième ligne apparait sous Nom personne-Lieu-Nbre d'heures. Dans le tableau de départ, un accompagnant peut accompagné plusieurs personnes. Comment aller rechercher dans le tableau ces informations ?
Exemple à partir du tableau :
PERSA2 N accompagne N2P2 et N3P3
merci d'avance
Bonjour
tifan a écrit :pour obtenir le modèle A, double-cliquer sur la colonne P ; pour obtenir le modèle B, double-cliquer sur la colonne U etc..
Je ne comprends pas le ‘’etc…’’
La version ci-jointe te permet d’un double clic sur une cellule de la colonne P d’avoir le modèle A et d’un double clic sur une cellule de la colonne U d’avoir le modèle B. Avec ces double clic, la colonne AG est inutile
J’ai laissé néanmoins la validation des A ou B de la colonne AG qui permettent le même résultat.
Et si possible m'expliquer les termes de cette ligne :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Il n’y a rien à comprendre. Il faut admettre qu’il s’agit du nom codifié de la macro événementielle qui se déclenche chaque fois qu’on fait un double clic dans la feuille.
Target est la cellule où on fait ce double clic.
Pour avoir la liste des macros événementielles, il faut :
• se mettre sur la feuille VBA concernée : double clic sur l’icone de la feuille dans le tableau ‘’explorateur de projet (à gauche)
• Choisir ‘’Worksheet’’ dans le menu déroulant de gauche, en haut de la feuille VBA
• Choisir la macro dans la liste du menu déroulant de droite, en haut de la feuille vBA
Et je ne saurai trop te recommander de suivre les tutoriels du forum ‘’COURS VBA’’ et ‘FORMATION PRATIQUE VBA’’ . On y accède par le menu de la page d’accueil.
Ils te permettront de faire de rapides progrès.
Bon courage !
Bye !
Merci beaucoup pour ton aide