> Tous les forums > Forum Bureautique
 Excel : Transfert contenu d'une cellule
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
jlchaps
  Posté le 07/09/2011 @ 08:16 
Aller en bas de la page 
Petit astucien

Bonjour,

Cas concret ...

J'ai un fichier Excel qui s'appelle TEST1.XLS
Dans la cellule A1, j'ai une zone texte contenant "LIEN" et qui a un lien hypertexte vers un fichier TEST2.XLS
Voilà ma question :
Je voudrai récupérer la valeur de la cellule B2 du fichier TEST2.XLS automatiquement dans la cellule B2 du fichier TEST1.XLS.
Comment faire ?

Merci de votre aide

PS : avec Excel 2000

Publicité
jlchaps
 Posté le 07/09/2011 à 08:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci pour cette manip de base mais je suis plus vicieux dans ce que je veux faire ....

Je ne voudrai pas faire le lien comme cela.
Je voudrai que dans le fichier de départ (TEST1.XLS), il y ait une cellule avec un lien hypertexte qui pointe sur un 2° fichier. Quand je clique dessus, le fichier lien peut s'ouvrir. Mais ce que je voudrai aussi, c'est qu'automatiquement, l'une des cellules du fichier lié (TEST2.XLS) soit copiée vers le premier sans intervention.

C'est à dire que le simple fait de changer le lien hypertexte vers un autre fichier, par exemple, change le résultat dans la cellule de TEST1.XLS qui est l'image de la cellule du fichier lié. Mais aussi que si je change le contenu de la cellule de TEST2.XLS, elle se modifie dans TEST1.XLS, mais pas par sa référence, mais par le nom du fichier lié qui peut changer.

Pas facile .... ou impossible ?????

ferrand
 Posté le 07/09/2011 à 14:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Une petite suggestion. Si je devais mettre en place un dispositif de ce genre avec une série de classeurs TEST1 ...2 ...3 ...4 ...etc. .xls, je préfèrerais ne pas utiliser de lien hypertexte ni de formules créant des liaisons :

dans TEST1 => macro évènementielle (en Feuil1) réagissant à la saisie d'un nombre en A1 qui procèderait à l'ouverture du classeur TEST correspondant à ce nombre, reproduirait en B2 la valeur figurant en Feuil1!B2 dudit classeur, enregistrerait TEST1 (si la saisie ne correspond à aucun classeur, afficherait un message d'info)

dans les autres classeurs => macros évènementielles (en Feuil1) réagissant à la modification de B2 qui procèderait à l'enregistrement du classeur, ouvrirait TEST1, vérifierait si Feuil1!A1 de TEST1 pointe sur le classeur concerné, si c'est le cas mettrait à jour la valeur de B2 sur TEST1 et enregistrerait TEST1, sinon signalerait que TEST1 pointe ailleurs (laissant à l'utilisateur le choix de modifier A1 dans TEST1).

jlchaps
 Posté le 07/09/2011 à 16:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
ferrand a écrit :

Bonjour,

Une petite suggestion. Si je devais mettre en place un dispositif de ce genre avec une série de classeurs TEST1 ...2 ...3 ...4 ...etc. .xls, je préfèrerais ne pas utiliser de lien hypertexte ni de formules créant des liaisons :

dans TEST1 => macro évènementielle (en Feuil1) réagissant à la saisie d'un nombre en A1 qui procèderait à l'ouverture du classeur TEST correspondant à ce nombre, reproduirait en B2 la valeur figurant en Feuil1!B2 dudit classeur, enregistrerait TEST1 (si la saisie ne correspond à aucun classeur, afficherait un message d'info)

dans les autres classeurs => macros évènementielles (en Feuil1) réagissant à la modification de B2 qui procèderait à l'enregistrement du classeur, ouvrirait TEST1, vérifierait si Feuil1!A1 de TEST1 pointe sur le classeur concerné, si c'est le cas mettrait à jour la valeur de B2 sur TEST1 et enregistrerait TEST1, sinon signalerait que TEST1 pointe ailleurs (laissant à l'utilisateur le choix de modifier A1 dans TEST1).

SUPER ... mais même si je suis informaticien, je n'ai jamais trop mis les mains dans Visual Basic ... je pensai trouver une solution dans les outils standard de Excel !

papouclo
 Posté le 08/09/2011 à 12:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Voici une proposition ne faisant appel ni à un lien hypertexte ni à une macro mais à la fonction INDIRECT.

Elle permet de récupérer dans la cellule B1 d’un fichier Récepteur le contenu de la cellule B1, soit d’un fichier Emetteur1, soit d’un fichier Emetteur2.

Le choix du fichier Emetteur se fait dans le fichier Récepteur en A1 au moyen d’une liste déroulante.

SI le fichier Emetteur auquel on veut faire appel n’est pas ouvert, la fonction INDIRECT renvoie le message d’erreur !REF

Liens pour les fichiers :

Récepteur.xls

Emetteur1.xls

Emetteur2.xls

Cordialement

jlchaps
 Posté le 08/09/2011 à 17:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

YES ... ça marche mais j'ai juste un problème ... OK si je suis dans le même dossier.
Mais le fichier "Emetteur" peut-être ailleurs, et dans ce cas, la structure de la cellule G1 doit être sous la forme :

'\\serveur\dossier\technique\[Emetteur1.xls]Feuil1'!$B$1

J'ai donc dans le fichier Récepteur la cellule A1 qui pointe sur le fichier hypertexte Emetteur1.xls dans son propre dossier.

Si j'utilise la fonction =CELLULE("contenu";$A$1), elle me permet de récupérer le texte suivant :

\\serveur\dossier\technique\Emetteur1.xls

Comment recomposer ce résultat pour trouver la position où mettre le [ devant le nom du fichier, sachant que le chemin peut varier, avec un nombre de dossier variable et chacun de longueur variable. J'ai pas trouvé de formule permettant de trouver la position du dernier \ dans le texte. La fonction CHERCHE commence par la gauche, pas par la droite ?

Une idée ?

Encore merci pour l'aide

jlchaps
 Posté le 08/09/2011 à 17:07 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Autre problème que j'avais pas vu .... le cellule réceptrice contient #REF à l'ouverture du fichier Récepteur.

Si j'ouvre le fichier Emetteur, la valeur de la cellule de Récepteur est bien modifiée.

J'enregistre et j'ouvre à nouveau, je retrouve #REF => cela veut dire qu'il faudrait ré-ouvrir tous les Emetteurs pour que le fichier Récepteur soit bon !

Pas bon ça !

papouclo
 Posté le 13/09/2011 à 14:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Un peu de retard pour revenir sur le forum mais la coupe du monde de rugby…

jlchaps a écrit :

Si j'utilise la fonction =CELLULE("contenu";$A$1), elle me permet de récupérer le texte suivant :

\\serveur\dossier\technique\Emetteur1.xls

Comment recomposer ce résultat pour trouver la position où mettre le [ devant le nom du fichier, sachant que le chemin peut varier, avec un nombre de dossier variable et chacun de longueur variable.
J'ai pas trouvé de formule permettant de trouver la position du dernier \ dans le texte. La fonction CHERCHE commence par la gauche, pas par la droite ?

Une idée ?

En fait, en étant placé Feuil1 dans le classeur Emetteur.xls, la fonction =CELLULE("contenu";$B$1) renvoie par exemple :

D: \ Forum PC Astuces \ Fichiers Excel \ Lien Emetteur Recepteur \ [Emetteur1.xls] Feuil1! $B$1
(les espaces ont été rajoutés pour la lisibilité)

c'est-à-dire le chemin d’accès COMPLET à la cellule B1 de la feuille sur laquelle on se trouve, en terminant toujours par :

  • le nom du fichier (y compris l’extension) TOUJOURS entre crochets [ ]
  • le nom de la feuille suivi du symbole !
  • l’adresse de la cellule en références absolues.

Les symboles [ , ] , ! sont donc TOUJOURS et d’une façon UNIQUE dans la chaine de caractères obtenue en réponse et c’est en cherchant leur position avec la fonction CHERCHE qu’on extrait le nom du classeur ou le nom de la feuille.

Quand au signal d’erreur REF ! avec des liaisons externes en RECEPTEUR et certains des fichiers émetteurs non ouverts, je doute qu’on puisse y échapper autrement qu’avec une macro évènementielle qui,
à l’ouverture de RECEPTEUR, ouvrirait tous les fichiers EMETTEURS intéressés.

Là, je renvoie la balle aux spécialistes : ferrand, galopin

Cordialement

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
178,72 €Processeur AMD Ryzen 5 5600G à 178,72 € livré
Valable jusqu'au 19 Mai

Amazon Italie fait une promotion sur le processeur AMD Ryzen 5 5600G qui passe à 173,59 € (avec la TVA ajustée). Comptez 5,13 € pour la livraison en France soit un total de 178,72 € livré alors qu'on le trouve ailleurs à partir de 240 €. 

Le processeur pour PC de bureau AMD Ryzen 5 5600G intègre de puissants coeurs graphiques Radeon pour vous permettre de jouer en 1080p sans carte graphique dédiée. Avec 6 coeurs et 12 threads, des fréquences de fonctionnement jusqu'à 4.4 GHz et 16 Mo de cache L3, il vous permettra de jouer dans les meilleures conditions en Full HD. 


> Voir l'offre
308,89 €Ecran PC 34 pouces Samsung S34J552WQR ultralarge (WQHD, 4 ms, 75Hz) à 308,89 €
Valable jusqu'au 20 Mai

Amazon fait une promotion sur l'écran PC 34 pouces Samsung S34J552WQR ultralarge qui passe à 308,89 € au lieu de 399 €. Cet écran possède une dalle VA de résolution 3440x1440 à 75 Hz (compatible FreeSync). La fonction Picture-by-Picture intégrée (PBP) permet l'affichage de deux sources différentes côte à côté à leur résolution native. Entrées HDMI et DP.


> Voir l'offre
139,99 €Outil 3 en 1 Coupe-bordure/Tondeuse/Dresse-bordure sans fil Black + Decker à 139,99 €
Valable jusqu'au 19 Mai

Amazon fait une belle promotion sur l'outil 3 en 1 Black + Decker STC1825CM qui passe à 139,99 € livré gratuitement. On le trouve ailleurs à partir de 169 €. Cet outil sans fil avec une batterie de 18V 2,5 Ah regroupe un coupe-bordure, une tondeuse 30 cm et un dresse-bordure.


> Voir l'offre

Sujets relatifs
Excel : scinder contenu d'une cellule en 2 parties
modifier le contenu de plusieurs cellule excel
Excel: duplication auto du contenu d'une cellule
Excel - Contenu d'une cellule
case à cocher dans cellule Excel 2010
excel: effacer le contenu ds plusieurs feuilles
Excel 2010 et mode reference d'une cellule
Excel 2007 macro rajouter tri + cellule en surbrillance à chaque changement
incrémenter un N° de cellule à chaque ouverture du fichier Excel
transfert de fichiers excel word sur tablette avec Android
Plus de sujets relatifs à Excel : Transfert contenu d''une cellule
 > Tous les forums > Forum Bureautique