> Tous les forums > Forum Bureautique
 Reference absolue/relative dans macroSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
vachelou
  Posté le 19/12/2019 @ 21:57 
Aller en bas de la page 
Petit astucien


Bonsoir,

Je recherche comment changer les références relative/absolue dans les macros excel tel que montrée dans image ci-dessous Si je clique sur "utiliser les ref relatives" cela est inopérant.

Merci d'avance pour votre aide.

Bonne soirée.

Vachelou

[Configuration automatique à compléter]
Windows 10
Chrome 79.0.3945.88

Publicité
Debrief
 Posté le 20/12/2019 à 02:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Cette option explique clairement en survol souris, ce qu'elle fait dans l'enregistrement d'une macro. Ça n'a rien à voir avec les macros en général.

Que veux-tu faire exactement ?

vachelou
 Posté le 21/12/2019 à 19:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Merci pour ta réponse Debrief.

J'ai trouvé comment passer de valeur absolue à valeur relative dans l'enregistrement d'une macro.

Je ne travaille plus depuis 13 ans et n'ai plus fait de macro depuis, alors je sèche.

Ce que je veux faire c'est la gestion d'un petit portefeuille boursier dont tu trouveras un exemple ci-joint.

J'ai essayé la macro suivante


Range("E5:E10").Select
ActiveCell.FormulaR1C1 = ""
Range("E5:E10").Select
Range("E6").Activate
ActiveCell.FormulaR1C1 = ""
Range("E5:E10").Select
Range("E7").Activate
ActiveCell.FormulaR1C1 = ""

Comme tu l'as deviné les cours unitaires doivent être indiqués par mes soins. Si j'indique un montant dans ma macro, cela ne convient pas. Si je laisse "" la macro s'exécute et le cours unitaire n'est pas renseigné.

En F14 j'ai la date que je veux reporter automatiquement dans la colonne M

En G14 j'ai le montant total de mon portefeuille que je veux reporter automatiquement dans la colonne N

Et je voudrais conserver en Col M la date qui s'incrémente à chaque fois que je consulte ce portefeuille boursier ainsi que le total de mon portefeuille.

Votre aide me serait précieuse. Avec mes remerciements anticipés.

https://www.cjoint.com/c/ILvsXtlN3Wi

Cordialement.

Vachelou

Debrief
 Posté le 21/12/2019 à 23:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Oublie ta Macro, je ne comprends pas à quoi elle sert.

Explique clairement ce que tu veux faire sans référence aux cellules ni à la macro.

Par exemple:
Je valorise les cours de mes actions à la date du jour et je veux conserver un historique du montant de mon portefeuille pour chacune des dates auxquelles je l'ai consulté pour en voir l'évolution.

Edit:
- Comment as-tu réussi à faire commencer ta feuille Excel à la ligne 3 !? Ça c'est fort ! Je n'ai jamais vu ça et je n'arrive pas à rétablir la ligne 1 !
- Il y a 2 fois la colonne libellé
- les titres Date et Montant (colonnes m & N) ne sont pas sur la même ligne que les titres des autres colonnes
- il y a une MFC étrange (bold + italique + souligné) en G, H, I quand les chiffres sont positifs. Pourquoi ne pas utiliser les formats de nombres Excel montrant les valeurs négatives en rouge ?



Modifié par Debrief le 21/12/2019 23:41
vachelou
 Posté le 21/12/2019 à 23:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir

Merci pour ta réponse.

Tu as tout à fait compris ce que je veux réaliser.

Les 2 dernières colonnes doivent s'incrementer automatiquement chaque fois que je renseigne ce fichier, c'est pour cela que je voulais creer une macro.

Bonne soirée.

Debrief
 Posté le 21/12/2019 à 23:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il faut créer un bouton pour reporter les résultats dans l'historique. Un automatisme rendrait les choses complexes et peu transparentes.

Debrief
 Posté le 22/12/2019 à 00:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Voici un fichier -> https://www.cjoint.com/c/ILvxbmFWSAb

Des constantes décrivent les positions de données. A adapter si nécessaire.

J'ai dû quand même mettre une MFC sur les % qui n'offrent pas en standard la couleur rouge pour les valeurs négatives.

Debrief
 Posté le 22/12/2019 à 00:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Correction sur le format de la colonne historique Date -> https://www.cjoint.com/c/ILvxmaJtt7b

vachelou
 Posté le 22/12/2019 à 09:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Merci à toi Debrief. Ce que tu me proposes est vraiment ce que je souhaitais.

Quelques réponses à tes interrogations

Edit:
- Comment as-tu réussi à faire commencer ta feuille Excel à la ligne 3 !? Ça c'est fort ! Je n'ai jamais vu ça et je n'arrive pas à rétablir la ligne 1 ! Onglet affichage --> Figer les volets --> figer les volets/libérer les volets.
- Il y a 2 fois la colonne libellé: C'est normal. Dans mon fichier réel qui a de nombreuses colonnes cela me permet de voir rapidement de quelle action il s'agit.
- les titres Date et Montant (colonnes m & N) ne sont pas sur la même ligne que les titres des autres colonnes: Tu as raison je vais modifier dans mon fichier réel. Ta présentation avec des couleurs rend très bien.
- il y a une MFC étrange (bold + italique + souligné) en G, H, I quand les chiffres sont positifs. Pourquoi ne pas utiliser les formats de nombres Excel montrant les valeurs négatives en rouge ? Cette MFC me permet de voir rapidement si je peux vendre ces actions avec plus-value. Je la modifie pour avoir aussi les moins-values en rouge.

Encore merci pour ton aide précieuse. Je vais appliquer cette macro dans mon fichier réel.

Bon dimanche et bonnes fêtes de fin d'année.

Vachelou

Publicité
Debrief
 Posté le 22/12/2019 à 12:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

J'ai modifié les constantes au cas où la liste d'actions serait variable en nombre et donc fait référence uniquement aux colonnes des totaux au lieu de leurs cellules, en supposant que la ligne des totaux est la dernière ligne valorisée de ces colonnes.

https://www.cjoint.com/c/ILwl2Y3cfUb

Bonnes fêtes.

D.

vachelou
 Posté le 23/12/2019 à 20:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir et merci pour ton aide Debrief.

Mais j'ai des pbs sur mon fichier réel ainsi que pour insérer un bouton. Je patauge un peu , même beaucup.

Fichier réel :https://www.cjoint.com/c/ILxtefNaoVi

Dans mon fichier réel je voulais:

1/ Col T = Date

2/ Col U = Résultat total avant renseignement cours unitaire

3/ Col V = Résultat total après renseignement cours unitaire

4/ Col W = Différence entre U et V

Merci d'avance pour ton aide efficace et très bonnes fêtes.

Vachelou

Debrief
 Posté le 23/12/2019 à 20:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir,

Je pense que je n'ai pas compris ce que tu veux faire.

Si tu veux capter les cours avant et après la saisie il faudrait donc faire 2 opérations de copie par Macro distinctes, l'une avant la saisie et l'autre après la saisie.
Pourquoi faire 2 opérations de copie par Macro alors que la cours avant est le cours copié précédemment dans une ligne d'historique ?
A quoi sert la ligne Cours précédent alors qu'il y a un historique pour le voir, ainsi que tous autres cours précédents ?

Je croyais que tu voulais faire ça:

- Au jour 22/12/2019 tu saisis les cours et ensuite tu fais la copie par Macro dans la 1ère ligne d'historique de la Date / Montant / +ou- value

- Au jour 23/12/2019 tu saisis les cours et ensuite tu fais la copie par Macro dans la 2ème ligne d'historique de la Date / Montant / +ou- value / %évolution du montant entre le 22/12 et le 23/12

- Au jour 24/12/2019 tu saisis les cours et ensuite tu fais la copie par Macro dans la 3ème ligne d'historique de la Date / Montant / +ou- value / %évolution du montant entre le 23/12 et le 24/12

- etc...

A chaque ligne d'historique on peut même ajouter une %évolution par rapport au prix d'achat.

vachelou
 Posté le 23/12/2019 à 22:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir et encore merci.

Oui c'est bien cela que je souhaite faire.

Si c'est pas trop un pb pour toi, je veux bien.

Bonne nuit.

Vachelou

Debrief
 Posté le 23/12/2019 à 23:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Voilà un fichier ->https://www.cjoint.com/c/ILxwNTbDTWb

Il suppose que c'est comme expliqué ci-dessus.

Après saisie des cours du jour, tu créés la ligne d'historique du jour avec le Bouton / Macro qui copie la date, le Résultat Total et insère une formule qui fait la différence entre ce Résultat total du jour et celui de la ligne d'historique précédente si elle existe.

A rajouter les MFC que tu préfères sur les colonnes U et V.



Modifié par Debrief le 23/12/2019 23:42
vachelou
 Posté le 25/12/2019 à 17:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Un grand merci à toi Debrief, tu as solutionné mon problème.

Si j'avais su que c'était si compliqué, je n'aurai rien demandé. Dans tous les cas cela m'aide bien.

Encore merci et joyeux Noël.

Vachelou

Debrief
 Posté le 26/12/2019 à 07:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Pour limiter l'historique cette version offre la possibilité d'en définir le nombre de lignes maximum.

Voir dans le code la constante: Private Const NbLignesHistorique = 8 à définir selon tes besoins.

Quand le maximum est atteint, l'historique est remonté d'une ligne.

Fichier -> https://www.cjoint.com/c/ILAhPDRybkb



Modifié par Debrief le 26/12/2019 08:41
vachelou
 Posté le 26/12/2019 à 19:15 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Merci encore pour ton aide.

Mais j'ai toujours un souci .

Sur Classeur1 cela fonctionne bien. https://www.cjoint.com/c/ILAsn4njkyi

Sur mon fichier réel "Portefeuille quotidien", onglet 2019 il y a un pb: la colonne résultat total est à 0.60 au lieu du montant exact https://www.cjoint.com/c/ILAso7vQmmi

et je ne vois pas d'où vient l'erreur.

Si tu as encore un peu de temps cela serait bien.

Merci d'avance.

Publicité
Debrief
 Posté le 26/12/2019 à 19:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il y a un mot de passe, je ne peux ps ouvrir le 2ème fichier

vachelou
 Posté le 26/12/2019 à 19:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Désolé,

j'ai oublié: 1234

mais qui n'est que pour toi.

Mes fichiers sont mieux protégés.

Cordialement

Debrief
 Posté le 26/12/2019 à 21:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

La Macro recherche la dernière ligne valorisée de la colonne H (Résultat total) et y prend la valeur trouvée.

Pourquoi ? Parce que le fichier que tu m'as envoyé et sur la base duquel j'ai fait la Macro était présenté de cette façon et qu'il faut bien la déterminer cette ligne.

Maintenant tu m'envoies un fichier complètement différent:

- il y a 5 lignes titres et plus 3 (Private Const NbLignesTitre = 3 n'est plus valable), les 2 lignes vides supplémentaires sont-elles bien utiles ?

- il y a plein de lignes valorisées en dessous de la ligne Total (ligne 13) et donc la Macro va prendre les valeurs de la dernière de ces lignes

- il y a des modules vides dans le VBA (Module1, Module2, Module3, Module5)

- il y a un module qui reprend de vieilles constantes (Module4) heureusement inopérantes car Private

Il faut un minimum de constance et d'organisation pour faire fonctionner la Macro qui doit prendre les données à des endroit identifiables.

Sur quel fichier dois-je me baser pour corriger ? Sur ce dernier fichier ? Quelle feuille ? 2019 ? La ligne 13 des totaux, est-elle susceptible de bouger ? Comment la reconnaître ? Avec un libellé particulier en colonne A comme "Total titres" ou autre ?

vachelou
 Posté le 26/12/2019 à 22:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Merci encore pour ta réponse.

Dans mon fichier "Portefeuille quotidien" onglet 2019

- Quelles 5 lignes titre et plus 3 ?--> Tu peux modifier ma présentation si tu le souhaites et si cela facilite la macro. Les 2 lignes supplémentaires peuvent être supprimées.

- J'ai besoin des lignes 17 et suivantes qui sont le total des actions vendues. Le total pourrait être en ligne 14 ou 15 ou plus bas si je rachète des actions. Ou plus haut si je vend.

- Qu'est ce que "modules"?

- La constance, je pensais en avoir. Il est effectivement difficile de travailler chacun de son côté. Désolé.

- Pour terminer le mieux est de te baser sur mon fichier réel onglet 2019. Un libellé ligne 13 de "Total portefeuille" serait pas mal.

- Attention , Je viens de créer un nouvel onglet 2020 sur lequel je vais travailler dès la semaine prochaine.

Voila, mes petits-enfants vont me/nous réveiller très tôt demain matin (vers 5h), je vais donc fermer mon PC jusqu'à demain.

Encore merci et à bientôt.

Cordialement.

Vachelou

Debrief
 Posté le 27/12/2019 à 06:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Attention ! Il y a des liaisons externes dans ton fichier. Je ne sais pas comment tu les créés mais c'est probablement important les Modules.
Si à l'ouverture des liaisons externes sont mentionnées par Excel, il faut les supprimer.

Pour importer les Modules d'un fichier à un autre il suffit d'ouvrir les 2 fichiers, dans le VBA, supprimer les Modules à remplacer dans le fichier cible (clic droit sur le module puis Supprimer sans exporter) et, toujours dans le VBA, de faire glisser le ou les Modules du fichier source vers le fichier cible.

Je vais déterminer dynamiquement la ligne titre en cherchant en colonne A la 1ère valeur "Libellé" (<= donc à ne pas modifier sauf à ajuster la constante correspondante).
Je vais déterminer dynamiquement la ligne total en cherchant en colonne A la 1ère valeur "Total" (<= donc à ne pas modifier sauf à ajuster la constante correspondante).
La dernière ligne d'historique est la dernière ligne de la colonne Date dans l'historique (<= donc pas de données autres dans cette colonne).



Modifié par Debrief le 27/12/2019 06:45
Debrief
 Posté le 27/12/2019 à 06:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Je n'arrive pas à supprimer le mot de passe de ce classeur, donc il est toujours présent -> https://www.cjoint.com/c/ILBfU20vPmb

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
24,99 €Souris Logitech Marathon Mouse M705 à 24,99 €
Valable jusqu'au 26 Février

Amazon fait une promotion sur la souris Logitech Marathon Mouse M705 qui passe à 24,99 € livrée gratuitement. On la trouve ailleurs à partir de 39 €. Cette souris sans fil dispose d'un capteur laser pour un contrôle précis sur toutes les surfaces. Vous bénéficierez d’une autonomie des piles allant jusqu'à trois ans.


> Voir l'offre
79,99 €Kit 5.1 Logitech Z607 bluetooth à 79,99 €
Valable jusqu'au 28 Février

Amazon fait une promotion sur le kit d'enceintes 5.1 Logitech Z607 qui passe à 79,99 € livré gratuitement alors qu'on le trouve ailleurs autour de 125 €. Ce kit dispose d'un caisson de basses, d'une voie centrale et de 4 satellites offrant au total  une puissance de crête de 160 Watts et 80 Watts en puissance RMS. De quoi profiter pleinement de vos films et de vos jeux dans une pièce moyenne. D'autant que des câbles extra-longs (6,2 m) sont fournis pour les satellites arrières. Grâce à ses entrées 3.5mm et RCA, vous pourrez relier le kit à un PC, à une console de jeux, un lecteur DVD/Blu-Ray tandis que sa connexion bluetooth vous permettra de l'utiliser pour vos appareils sans fil. Vous pouvez même lui brancher directement une carte mémoire ou une clé USB et écouter la radio FM. Une télécommande (sans fil) vous permettra de contrôler tout cela. Une excellente affaire !


> Voir l'offre
30,17 €SSD SanDisk Plus 240 Go à 30,17 €
Valable jusqu'au 28 Février

Amazon propose actuellement le SSD SanDisk Plus 240 Go à 30,17 € livré gratuitement. Une bonne affaire pour ce SSD très fiable et performant qui offre des débits de 530 Mo/s en lecture et 445 Mo/s en écriture. Il est garanti 3 ans. On le trouve ailleurs à partir de 42 €.


> Voir l'offre

Sujets relatifs
Aucun sujet pertinent lié trouvé
 > Tous les forums > Forum Bureautique