copiercoller valeur automatique

hellle

XLDnaute Nouveau
Bonjour ! :)

Je reviens poser une question qui me semble élémentaire, mais dont je n'arrive pas à trouver la réponse malgré des heures de recherche...
Je voudrais renvoyer automatiquement la valeur de la cellule F4 (qui est une liaison à un autre classeur) à la cellule L41, avec une formule, sans que la formule en question soit présente dans L41.

Je n'ai trouvé qu'une macro, que j'ai détourné à mon profit, pour faire cela, elle le fait fort bien d'ailleurs. Mais je pense qu'il doit y avoir plus simple.
Si ce n'est pas le cas, j'aurais besoin d'un petit conseil pour finir de détourner cette macro...
 

JNP

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Bonjour Hellle :cool:,
Ce n'est pas une question de simplicité ;). Une cellule Excel est conçue pour, soit recevoir une valeur statique, entrée par l'utilisateur, soit contenir une valeur calculée, via une formule dans cette même cellule pouvant d'ailleurs faire référence à beaucoup de chose. C'est pourquoi en dehors de l'utilisation de formules, l'utilisation de VBA est indispensable pour remplir d'une façon statique une cellule, en faisant référence à d'autres cellules... Maintenant, pour finaliser ta macro "détournée", le mieux est de nous fournir un petit fichier exemple (sans données confidentielles), avec la macro que tu as récupéré, et de nous expliquer au mieux ce qu'il faudrait adapter pour ton besoin personnel.
Bonne soirée :cool:
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Me rewala !
Impossible de hacher suffisament menu ce fichier, même en le zippant. J'ai donc crée un lien sur cjoint ;)

L'explication suit, dans quelques instants...!

http://cjoint.com/?evkdeMjreX
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Il y a deux macros sur ce fichier, l'une qui repère les fériés, et qui doit démarrer après celle dont nous parlons,(ça, c'est impecc d'emblée, sans que je comprenne pourquoi ça le fait ! :confused:)
La seconde macro, elle, récupére la valeur de la fonction "max" en B1 et en copie la valeur en B2.
Pour ma part, il me suffirait qu'elle renvoie la valeur de F4 (date du 1er janvier de l'année, qui sera issue d'une liaison à un autre classeur), et qu'elle la renvoie directement en L41, cellule où la macro des fériés se cale au départ (en espèrant que ça sera toujours bon, car je n'ai pas pu tester le renvoi direct en L41. Ce que j'ai testé, et qui marche, c'est de mettre ma liaison à l'autre classeur en A1, ne mettre aucune autre date dans la plage en dessous, et forcément, la fonction max la prend comme max, après elle est renvoyé en B2 sans problème, et j'ai créé une liaison de L41 vers B2)
J'ai essayé de modifier la macro en mettant L41 à la place de B2, et aussi en coupant collant B2 en L41, mais c'est sans effet...
Pourquoi la macro férié ne peut s'effectuer correctement si la cellule L41 contient une formule ? Elle ne semble supporter qu'une liaison dans cette même feuille, et encore,si cette liaison fait référence à une cellule ne contenant elle-même qu'une valeur.
D'autre part, la PlageDate de la macro se modifie comment ? Je n'ai pas trouvé où ça se passe... Chuis nulle hein ? :D
ça en fait des questions... j'espère que j'ai été à peu près claire sinon j'essaierai de faire mieux la prochaine fois :rolleyes:

Bonne soirée
 

jeanpierre

Nous a quitté
Repose en paix
Re : copiercoller valeur automatique

Bonsoir heille, JNP,

Ton fichier déposé n'est pas dans un format que l'on puisse lire si l'on a pas Excel 2007. Le convertisseur ne reconnaît pas ce format.

Tu peux aussi déposer au Format 97-2003 si ton fichier ne fait pas appel à des fonctions particulières d'Excel 2007. Tu auras beaucoup plus de chance de réponse. 2007 n'étant pas encore une normalité.

En attendant, bonne soirée.
 

JNP

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Re :),
Pourquoi la macro férié ne peut s'effectuer correctement si la cellule L41 contient une formule ? Elle ne semble supporter qu'une liaison dans cette même feuille, et encore,si cette liaison fait référence à une cellule ne contenant elle-même qu'une valeur.
D'autre part, la PlageDate de la macro se modifie comment ? Je n'ai pas trouvé où ça se passe... Chuis nulle hein ? :D
ça en fait des questions... j'espère que j'ai été à peu près claire sinon j'essaierai de faire mieux la prochaine fois :rolleyes:
Bonne soirée
J'ai chargé ton fichier, il n'y a rien sur les feuilles Excel, une macro évenementielle pour une copie suivant le changement d'une plage de cellule...
le peu que je peux répondre, c'est :
La macro férié, c'est entrer une date, si férié Vrai, sinon Faux... donc il ne peux pas y avoir plusieurs liaison : une date : une réponse, férié ou non.
PlageDate est une plage nommée. Sous 2007, Onglet Formules, au mileu "Gestionnaire de noms".
Euh, Claire, non, mais si ça peut te rassurer, Sainte-Claire, qui était blanche, une fois momifiée était foncée :D.
Bon courage :cool:
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

En effet, il n'y a rien dans le fichier xlsx, et c'est la même chose à chaque fois que je le retente, avec n'importe quel fichier xlsx ou xlsm. Grrrr
En revanche, "il y a" dans le fichier xls. En attendant mieux....
Merci de ta patience.

J'ai trouvé !
En fait, il arrive chez moi dans un format .zip, quand je le renomme au format "xlsm", sans le dézipper, il se sent bokou mieux ! (Normal, puisque je ne l'ai jamais zippé)
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Bonjour :),
En fait, il arrive chez moi dans un format .zip, quand je le renomme au format "xlsm", sans le dézipper, il se sent bokou mieux ! (Normal, puisque je ne l'ai jamais zippé)
Tu ne l'as jamais zippé, mais lui s'est zippé tout seul :D... 2007 repose sur la technologie XML. Un fichier XLSX ou XLSM, par exemple, est en réalité un dossier contenant, entre autre, des XML et des sous dossiers, le tout zippé. En changeant l'extension .xlsx en .zip, tu peux contempler les entrailles de ton fichier :p!
C'est ton serveur de fichier qui doit s'apercevoir que c'est un zip et qui le transforme au passage.
Donc effectivement, en modifiant l'extension, je récuppère bien tout ton fichier. J'essayerai d'y jeter un œil ce soir.
Bonne journée :cool:
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Bonjour ! :)

Merci pour tes renseignements, pour modifier la plage, c'était ça, bien sur (pfffffff).

En revanche, et avant que tu t'arraches les tripes sur cette macro :
en A1, j'ai une liaison à un autre classeur;
le changement de la valeur dans le classeur source se répercute bien en A1 et B1, mais la macro, elle, ne copie pas la valeur en B2, (je l'avais cru, mais ce devait être quand je créais la liaison...)
Du fait de la liaison, elle ne doit pas considérer ça comme un changement? :(

Une macro peut-elle intégrer un changement de valeur du fait d'une liaison ? :eek:

Précision : j'ai des tas de fichiers construits de façon exactement semblable, liaisonnés au fichier source de la même manière. En gros, si c'était possible, ça m'éviterait d'ouvrir environ 100 fichiers au minimum, juste pour féter -et noter-le passage à la nouvelle année :p

Bonne journée !
 

JNP

XLDnaute Barbatruc
Re : copiercoller valeur automatique

Bonjour Helle :),
Le problème est que dans ta macro
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([PlageDate], Target) Is Nothing Then
    Range("B1").Copy
    Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
  End If
End Sub
est déclenchée par la validation d'une cellule. Pour une modification de valeur par le calcul, il faut utiliser
Code:
Private Sub Worksheet_Calculate()
End Sub
qui est déclenchée par le calcul d'une ou plusieurs cellules. Le problème est que tu noteras que Change renvoie Target qui correspond à la (aux) cellule(s) qui vient (viennent) d'être validée(s), alors que Calculate ne renvoie rien, elle se contente de se déclencher si au moins une cellule à été recalculée. Tu ne peux donc pas savoir quelle cellule a été recalculée... sauf avec une série de test entre ta plage de cellule et la même plage recopiée uniquement en valeur.
Bonne journée :cool:
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Vraiment merci de toutes ces explications :eek:

Si j'ai bien compris, c'est l'impasse...

Une dernière question, et après, promis, je ne t'embéte plus ! (à moins que tu répondes par l'affirmative :p)

Une macro qui ,à partir de la date calculée en AH6 (par exemple) renverrait la valeur du premier janvier de la même année, en L41 ? ça peut s'imaginer, ou c'est encore une impasse ?


Quoiqu'il en soit, merci encore d'avoir pris de ton temps pour répondre à mes interrogations ! :)

Bonne soirée !
 

hellle

XLDnaute Nouveau
Re : copiercoller valeur automatique

Waoooooo !

Mais JNP... mais elle est parfaite, celle-ci pour ce que je veux faire ! :D

J'ai juste inversé les références de cellules (vraiment, kesske je dois mal m'expliquer !), et je gratte pour en faire une macro événementielle, aidée de ce que tu m'as dit (pour l'instant, j'ai juste réussi à faire bugger excel :p).
L'idéal serait d'arriver à la coupler avec celle des fériés, puisque je les utiliserai au même moment.

Tout ça est vraiment très bien pour mon apprentissage en macrologie.

Merci bokou bokou bokou.

Je te refais signe avant de faire exploser le pc :D

Bonne soirée à toi ! :)


PS : je ne sais pas si c'était clair, mais du coup, inutile de chercher davantage pour la première macro : c'était le même but !
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
258

Statistiques des forums

Discussions
312 824
Messages
2 092 500
Membres
105 435
dernier inscrit
Geostima