Créer formule, ou macros ??

Fermé
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014 - Modifié par nanoudiskrette le 10/08/2014 à 23:30
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 - 14 août 2014 à 16:21
Bonjour à tous,

Je suis une novice de chez novice. Mon soucis est le suivant :
1-J'ai créé un classeur appelé "calendrier 2014" qui comporte 10 colonnes allant de A à J (correspondants à certains jours des mois à venir) sur 35 cellules de haut.
Ce classeur doit me permettre d'introduire des données de type "Texte" (=noms de famille)
dans l'une ou l'autre cellule du tableau en fonction de la date sélectionnée.

2- j'ai créé un second classeur appelé "journalier" qui comporte des colonnes de A à S (qui me serviront à entrer différentes autres données.

3- dans les colonnes B2 jusqu'à B35, j'ai inséré un lien me permettant (par double cliq) d'avoir accès au classeur "calendrier 2014".

Mon souhait est le suivant : j'aimerais bien avoir la possibilité lorsque je fais appel à ce lien et que j'y introduit un Nom de famille (peut importe où dans la grille) que ce nom de famille se copie dans la colonne E du second classeur.

Exemple : après avoir ouvert le classeur "journalier" et double cliq en B2 sur le lien vers le classeur "calendrier 2014"; je dactylographie le Nom "Fraisier" en D4 (qui correspond à une date du calendrier); il me serait agréable que dans le classeur "journalier" le Nom "Fraisier" se copie dans la cellule E2 en regard.

J'espère avoir été +/- claire et attends avec impatience l'aide qu'il vous sera possible de m'apporter.
Je vous rappelle que je suis une NEOPHITE !!!!

Merci de votre compréhension et à bientôt j'espère.
A voir également:

23 réponses

via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
10 août 2014 à 23:42
Bonsoir

Sans doute une macro serait nécessaire, à voir ...
Les noms dans la colonne E doivent se suivre au fur et à mesure de leurs entrées ?
Ce serait plus simple si on avait un aperçu de ton classeur
Post un exemple allégé et anonymé sur cjoint.com et reviens ici indiquer le lien fourni

Dans l'attente

Cdlmnt
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
11 août 2014 à 14:35
Bonjour,
Merci de l'intérêt que vous avez bien voulu accorder à ma requête.
Voici le lien pour le premier fichier :

https://www.cjoint.com/?3HllVvcRsyY

et voici le lien pour le second fichier :
https://www.cjoint.com/?3HlmcQFoGfV


Pour répondre à votre question, disons que je reçois Mr Framboisier, j'ouvre mon classeur « JOURALIER », j'inscris un « V » dans la colonne A ou C (en fonction du RDV que l'on fixera <calendrier 2014 ou 2015>), ensuite je clique sur le lien
en colonne B ou D qui me renvoie au calendrier 2014 ou 2015 ad hoc.
Dans ce calendrier je dactylographie dans la cellule du jour choisi pour le RDV le nom « FRAMBOISIER ».
Il me serait donc agréable que ce nom (FRAMBOISIER) se copie automatiquement dans ma colonne E de mon classeur « JOURNALIER ».

Il s'agirait donc d'un simple COPIER-COLLER du nom ; mais mon soucis est que je ne sais pas quelle formule annoter pour que mon programme reconnaisse chaque entrée « CALENDRIER »(peu importe la cellule où j'introduirai l'entrée) comme nouvelle entrée et me copie le nom dans le classeur « JOURNALIER »
Donc effectivement, les noms doivent se suivre au fur et à mesure de leurs entrées.

Merci d'avance pour votre aide à venir.
Amicalement
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
Modifié par pijaku le 12/08/2014 à 08:11
Bonsoir

Par macro on peut envisager le report du nom dans le classeur journalier mais il faut :

- que la structure des 3 feuilles soient identiques (RV en ABCD et Noms en E)
- connaître le nom exact du classeur journalier (le nom que celui que tu m'as envoyé est bien long classeur_journalier_3_zones

Dans l'attente

Exemple de macro à mettre dans le Worksheet de la feuille de chaque Calendrier en supposant le classeur journalier nommé journalier simplement

Private Sub Worksheet_Change(ByVal Target As Range)
Dim nom As String
Dim feuille As String
nom = Target.Value
If Target.Value = "" Then Exit Sub
feuille = Workbooks("journalier.xlsx").ActiveSheet.Name
Dim DernLigne As Long
DernLigne = Workbooks("journalier.xlsx").Sheets(feuille).Range("E" & Rows.Count).End(xlUp).Row
If DernLigne = 1 Then DernLigne = 2
Workbooks("journalier.xlsx").Sheets(feuille).Range("E" & DernLigne + 1) = nom
Workbooks("journalier.xlsx").Activate
End Sub

De même au lieu d'avoir des liens dans toutes les cellules des colonnes B et D de journalier on pourrait avoir simplement 3 lignes de macro qui ouvre le calendrier adéquat simplement en double-cliquant dans la colonne B ou la colonne D

Cdlmnt

"L'imagination est plus importante que le savoir." A. Einstein
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
12 août 2014 à 12:16
Bonjour Via55,

Merci déjà pour la macro conçue !
Cependant ........ je vais sans aucun doute vous paraître "très idiote" !!!! mais je ne connais pas le mot Worksheet!
Comment y accéder ? dois-je faire le nécessaire d'abord par le classeur "Calendrier" ?
Faut-il que je clique sur la touche macro pour introduire ces données ?

D'autre part, j'ai travaillé mon classeur, que j'ai simplement appelé "JOURNALIER" afin que toutes les cellules/colonnes soient de dimensions identiques (j'ai vérifié par l'onglet "Format"). Cependant, l'à où je ne pige rien c'est qu'en simple visualisation, le premier onglet rouge a une apparence plus petite alors que dans les onglets vert/bleu l'apparence est différente ! or, l'affichage est idem pour les 3 onglets (100%). Je suppose que cela n'aura aucune incidence puisque les dimensions réelles sont identiques ?

Je vous communique ci-après le lien référant de mon travail afin que vous puissiez en juger :

https://www.cjoint.com/?3HmmnztdxPf

Déjà un énorme merci pour l'attention que vous voudrez bien m'accorder, je trouve votre dévouement incroyable ! franchement je vous remercie pour votre patience !!

Amitiés
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
12 août 2014 à 12:52
Bonjour nanoudiskrete

Le classeur journalier est maintenant opérationnel

Je n'étais pas allé plus loin dans les détails pour la macro en attendant ton avis

La procédure à suivre est la suivante :

Ouvrir le classeur Calendrier 2014
Faire ALT + F11 pour ouvrir l'éditeur VBA
Dans l'arborescence cliquer sur le nom de la feuille (il n'y en a qu'une je crois)
Copier ma macro et la coller dans la fenetre blanche à droite

Faire la même opération avec Calendrier 2015

Les macros sont opérationnelles et doivent fonctionner si le classeur journalier est ouvert; toute inscription de nom dans un des calendriers le reporte en bonne place dans journalier et revient se positionner sur la page de journalier

N'hésites pas à me redemander s'il y a autre chose que tu ne comprends pas

Cdlmnt
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
12 août 2014 à 14:13
Coucou,
Hé bien .... oui, me revoilà encore une fois à la charge !!!!!!! et m'en excuse vraiment.
Voici le descriptif de mes manoeuvres, explique-moi si tu veux bien, où je plante !!

1- j'ouvre le classeur "journalier"
2- j'ouvre le classeur "calendrier 2014"
3- je fais ALT+F11
4- s'ouvre l'éditeur VBA
5- je clique à gauche de mon écran sur feuille 1 (calendrier mensuel)
--> mais à droite de mon écran rien ne se passe, j'ai un grand espace vide grisé.
6- si je clique à gauche de mon écran sur VBAProjet (journalier.xlsx) et ensuite sur
feuille 1 (Liège) --> j'ai là, effectivement, 1 fenêtre blanche à droite qui s'ouvre
dans laquelle j'exécute un copier/coller de ta macro.

7- ne sachant comment enregistrer, j'ai cliqué sur l'onglet "fichier" de ma barre
d'outils + "enregistrer journalier xlsx"

====> une fenêtre s'ouvre me disant :

Les fonctionnalités suivantes ne peuvent pas être enregistrées dans un classeur sans nom :
.Projet VB
Pour enregistrer un fichier avec ses fonctionnalités, cliquez NON puis sélectionnez un type de fichier prenant en charge les macros dans la liste.
Pour continuer à enregistrer en tant que classeur sans macro, cliquez OUI

que dois-je faire ???

D'autre part, j'imagine que la même manoeuvre devra être effectuée pour chaque zone (LIEGE-VERVIERS-HANNUT) ?
Doit-il y avoir quelque chose qui change dans une/des lignes de commandes ?

Merci d'avance.
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
12 août 2014 à 16:59
Non il ne faut pas ouvrir le journalier tout de suite
C'est dans chacun des classeurs Calendrier qu'il faut mettre le code
D'abord ouvrir un
ALT F11 comme tu as fait
Tu cliques sur feuil1 Calendrier mensuel comme tu as fait
A droite il y a une fenetre blanche avec en Haut General et Declarations
Tu colles le code dans cette page blanche
Tu fermes l'éditeur
Tu te retrouves sur ta feuille Calendrier mensuel
Tu vas dans le bouton rond Windows en haut à gauche
Enregistrer sous
En dessous de nom de fichier il y a Type et là tu choisis Classeur Excel (prenant en charge les macros)(*.xlsm)

Puis tu recommences la même opération pour l'autre classeur Calendrier

Ensuite tu peux ouvrir journalier et faire un essai

Les macros dans chaque classeur Calendrier repère la page active du classeur journalier d'où tu as appelé le classeur Calendrier et inscrivent dans la colonne E de la bonne feuille le nom que tu rentres dans Calendrier

Cdlmnt


0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
12 août 2014 à 20:02
Re coucou,

Hum ....... j'ai probable encore compris "boeuf pour vache" !!!! je suis rouge de honte, mais cela ne fonctionne pas !

Tu me dis :
- ouvrir un des classeurs calendrier = ok
- faire ALT F11 = OK
- double cliq sur feuille calendrier mensuel = OK
- à droite fenêtre blanche = OK
- Coller le code dans la page = OK

- Fermer d'éditeur = (en cliquant sur la X blanche carré rouge en haut à droite ?)

- s'ouvre la feuille calendrier = OK

- aller dans bouton rond Windows en haut à gauche = ???? je n'ai pas cela moi !


===> Si je souhaite "enregistrer sous", je dois faire <fichier / Enregistrer sous / type fichier : classeur excel prenant en charge les macros>

- Faire idem pour autre classeur calendrier = OK
- Ouvrir classeur journalier pour test = OK

======>>> CELA NE FONCTIONNE PAS !

Qu'ai-je encore mal interprété ???? je suis vraiment une nouille je crois !!!

Merci pour toute ton aide, vraiment !
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
12 août 2014 à 20:14
Tu as suivi la procedure correctement semble-t-il
Tu fais bien Enregistrer sous classeur prenant en charge les macros

Quand tu rouvres un des classeurs calendrier et que tu refais ALT F11 la macro est bien présente ?

Ensuite qu'est ce qui en fonctionne pas ?

Tu dois apres avoir ouvert journalier et la classeur Calendrier 2014 par exemple faire la manip que tu feras habituellement, c à d tu double cliques en B2 de journalier pour acceder à Calendrier 2014, dans ce dernier tu tapes un nom à la date de ton choix, validé par Entrée et automatiquement le nom doit se reporter dans journalier

Si ça ne va toujours pas renvoie moi tes 2 classeurs je regarderai

Cdlmnt
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
12 août 2014 à 20:46
Lorsque je rouvre l'un des classeurs calendrier (xlsm) et que je fais ALT+F11, j'ai effectivement bien la macro.

Je crois avoir compris ce qu'il se passe : j'ai remarqué que lorsque je double clique sur le raccourci figurant dans la colonne B ou D, cela ouvre effectivement le calendrier correspondant mais .... celui créé au départ, celui qui ne comporte pas la macro.
Comment faire, devrais-je refaire un nouveau raccourci vers le fichier portant le même nom mais au format xlsm ?????

https://www.cjoint.com/?3HmuQj1hkSX
https://www.cjoint.com/?3HmuQSJsHzL
https://www.cjoint.com/?3HmuRKAdCKr
https://www.cjoint.com/?3HmuSMpsbpT
https://www.cjoint.com/?3HmuTO6CBga

Voilà les 5 liens.

Merci beaucoup
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
Modifié par via55 le 12/08/2014 à 21:00
Oui

C'est moi qui suis étourdi, puisque les classeurs calendriers ont été réenregistrés les liens ne peuvent plus fonctionner ! j'aurais du y penser et te le dire !

Puisqu'il faut les modifier ne préfères tu pas faire comme je suggérais dans un précédent message : au lieux de 36 liens de faire une macro qui lorsque tu double cliques dans une des colonne B ou D se positionne sur le classeur Calendrier adéquat ( à condition qu'il soit ouvert ) ? On peut même dans ce cas supprimer les colonnes B et D, le double clic se faisant dans la cellule où tu rentres V, et on peut même se passer du double-clic, le simple fait de rentrer V renverrait sur le classeur Calendrier correspondant

Je peux modifier journalier et y mettre la macro si tu veux

Dans l'attente

"L'imagination est plus importante que le savoir." A. Einstein
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
12 août 2014 à 23:01
Ouff, Alléluia !!!! pour une fois que je comprends quelque chose !!!! la bosse que je me suis faite ce matin en nettoyant mes armoires, est sans doute une " bosselette" de l'informatique hihi, tu vas voir que dans 20 ans je saurai écrire toute seule une formule (je rigole hein !)

Plus sérieusement, oui, ton idée m'à l'air fort sympa et sans aucun doute + simple !

Pourrais-je éventuellement créer au bas du classeur une cellule qui comporterait le total d'enregistrement d'un trimestre ??

Dans l'attente, excellente soirée
Amitiés,
Nadine
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
13 août 2014 à 00:00
Re Nadine,

Voilà les 3 classeurs avec les macros correctes;ce sont les seuls à utiliser
Bien réenregistrer les 3 en classeur prenant en charge les macros sous les noms journalier, calendrier_2014 et calendrier_2015 sans autre chose (tu avais enregistré par exemple Calendrier_2014_xlsm) tu ne mets pas l'extension xlsm excel le fait automatiquement

https://www.cjoint.com/?0HmxT0jYrB7
https://www.cjoint.com/?0HmxXW1dSOn
https://www.cjoint.com/?0HmxYAJWj4J

Il faut que les 2 classeurs calendriers soient ouverts quand tu ouvres journalier pour que la macro (quand tu mets V dans une colonne A ou B) active le classeur correspondant (on pourrait par macro faire ouvrir le classeur mais il faut le chemin complet que je ne connais pas et de toutes façons comme tu vas faire l'aller retour continuellement entre les classeurs il vaut mieux les ouvrir dès le départ..)

Pour le total des enregistrements tu peux mettre en bas du classeur une cellule avec la formule = NBVAL(C3:C40) qui comptera dans la plage C3:C40 (où une plage plus longue si tu mets plus que 40) le nombre de cellules non vides, donc le nombre de noms pour une feuille et si tu veux le total des 3 feuilles tu fais additionner dans la cellule en dessous ou à côté les totaux des 3 feuilles

Bonne suite et bon essais, n'hésites pas à me redemander si quelque chose ne va pas où s'il faut modifier un truc

Bien cordialement

Via55
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
13 août 2014 à 16:04
Bonjour Via55,

Force est de constater qu'il me faut à nouveau te solliciter !
Voilà ce qu'il se passe après que j'ai ouvert les 2 calendriers comme indiqué par toi et que je tente de mettre un V dans la colonne A ou B du journalier :

Une petite fenêtre s'ouvre qui me dit :

Erreur d'exécution '9'
l'indice n'appartient pas à la sélection

Comme choix sélectif j'ai soit FIN ou DEBOBAGE

Vraiment désolée de t'ennuyer, et pourtant j'ai vérifié en faisant un ALT+F11 dans les 2 calendriers, et les lignes de commande sont bien présentes !

Merci
Amitiés
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
13 août 2014 à 16:24
Bonjour Nadine

Si tu as cette erreur c'est qu'il ne trouve pas le classeur calendrier
L'es tu bien réenregistré comme je te l'ai indiqué sous le seul nom : calendrier_2014 inscrit comme cela sans rien d'autre ? car c'est ce nom qui est dans la macro de journalier

Sinon faire ALT F11 dans journalier et modifier eventuellement les noms dans la macros

Bien crdlmnt
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
13 août 2014 à 17:06
Il me semble avoir fait les choses correctement ...... voici du reste un print écran du dossier dans lequel se situent les classeurs utiles :

https://www.cjoint.com/?DHnrdwNplVc

En réalité, pour enregistrer les classeurs que tu as gentiment réalisés, rien de bien compliqué : lorsque je clique dessus dans ton message, une fenêtre s'ouvre me demandant ce que je souhaite faire, et j'ai choisi "ENREGISTRER SOUS", c'est tout.

Merci
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
13 août 2014 à 17:23
oui mais justement tu les as enregistré avec le prefixe donné par cjoint OHMx etc
il faut simplement le nom !
Dans le dossier dont tu m'as envoyé la copie ecran fais clic droit sur un fichier Renommer et tu supprimes tout ce qui est devant le nom
Une fois renommés les 3 fichiers ça doit fonctionner

Bien cdlmnt
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
13 août 2014 à 17:22
Re,

Je viens de tout recommencer de zéro.
Lorsque j'ai fait "ENREGISTRER SOUS", j'ai corrigé le nom du fichier par défaut inscrit en "calendrier_2014" .... idem pour 2015.

Il s'avère qu'effectivement cela fonctionne; à savoir que lorsque dans mon classeur "JOURNALIER" je fais un "V" dans la colonne A ou B, cela ouvre bien le calendrier correspondant, et je peux y annoter le nom de la personne aux jours de mon choix.

Cependant, après avoir valider par un "ENTER", et lorsque je reviens au "JOURNALIER", le nom de cette personne ne s"est pas inscrit dans ma colonne C !

C'est j'espère le dernier problème ..... honnêtement je suis très gênée de t'ennuyer autant !!!

Nadine
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
13 août 2014 à 17:51
Je viens de recevoir ta réponse à ma première intervention d'aujourd'hui. Comme tu pourras le lire dans mon second message, effectivement tu avais raison, j'ai réenregistrer en supprimant une partie du nom pour ne laisser apparaître que "calendrier_2014".

Cependant, même si le lien entre fichiers fonctionne bien, sans vouloir être critique du tout hein, ne manquerait-il pas une ligne de commande qui impliquerait une copie du "nom" vers la colonne D ?

Car lors de mes essais, cela ne se recopie pas.

Merci
0
via55 Messages postés 14408 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 5 mai 2024 2 704
13 août 2014 à 18:14
Non tout devrait marcher

Tes classeurs calendriers sont bien ceux avec les dernières macros ?
(verifie les en allant dans l'éditeur VBA)

Chez moi tout fonctionnait avant que je ne t'envoie les classeurs j'ai vérifié

Donc soit les classeurs calendriers ne trouvent pas journalier mais tu aurais un message d'erreur comme tout à l'heure, soit la macro ne se déclenche pas mais pourquoi?

Au pire si tu n'y arrives pas renvoie moi les 2 classeurs calendriers je verrai ce que je peux faire

on va bien arriver à ce que ça marche quand même !!
0
nanoudiskrette Messages postés 13 Date d'inscription dimanche 10 août 2014 Statut Membre Dernière intervention 14 août 2014
14 août 2014 à 09:56
Bonjour l'ami,

Je suis vraiment désespérée !!!!! hélas non, cela ne fonctionne toujours pas !
lorsque je pointe la colonne A/B, c'est extra .... cela ouvre bien le calendrier de mon choix; j'y annote le nom que je souhaite, mais ...... rien ne se passe dans la colonne C !!!
J'ai vérifié, enfin j'espère que j'ai encore quelques neurones, et mes classeurs "calendrier" sont bien ceux de la dernière version. J'ai regardé dans les lignes de commandes, y figure bien la demande de copie vers la colonne D.

C'est à ne rien y comprendre.
De plus, j'ai "la pression" car je dois remettre ce travail ce soir !!!!

Voici les classeurs "calendrier" dont je me sers (ceux que tu m'as envoyé) + à tout hasard le classeur "journalier".

https://www.cjoint.com/?3HojZs9CJze
https://www.cjoint.com/?3HojZ5mAFzH
https://www.cjoint.com/?3Hoj1hi5Aq9

Merci d'y accorder ton attention et ton savoir.
Amitiés,
Nadine
0