Lien instantané (ou par macro) entre 2 fichiers
Cr4sH19
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Lorsque je rentre le nom d'une personne dans une cellule de "Fichier1", il recherche si cette personne existe dans la base de donnée "BDD".
- Si oui, Excel me remplit automatiquement des cellules dans Fichier1 (correspondant à des caractéristiques de la personne écrites dans la BDD).
- Si non, il m'affiche ces cellules en rouge et je clique alors sur un bouton qui m'ouvre la base de données (via une macro), pour ensuite rentrer cette nouvelle personne et ses caractéristiques.
Mon problème: la liaison entre les fichiers excel n'est pas instantanée, cad quand j'enregistre la BDD avec une nouvelle personne inscrite (et que je la ferme), il ne m'affiche pas dans File1 les caractéristiques de cette nouvelle personne.
=> je suis obligé de faire "connexions", "mise à jour des valeurs"
Existe-il un moyen de faire ce lien instantané ? par une macro (associé à un bouton "mise à jour" dans File1) ?
Merci beaucoup de votre aide !
Bonne soirée.
Lorsque je rentre le nom d'une personne dans une cellule de "Fichier1", il recherche si cette personne existe dans la base de donnée "BDD".
- Si oui, Excel me remplit automatiquement des cellules dans Fichier1 (correspondant à des caractéristiques de la personne écrites dans la BDD).
- Si non, il m'affiche ces cellules en rouge et je clique alors sur un bouton qui m'ouvre la base de données (via une macro), pour ensuite rentrer cette nouvelle personne et ses caractéristiques.
Mon problème: la liaison entre les fichiers excel n'est pas instantanée, cad quand j'enregistre la BDD avec une nouvelle personne inscrite (et que je la ferme), il ne m'affiche pas dans File1 les caractéristiques de cette nouvelle personne.
=> je suis obligé de faire "connexions", "mise à jour des valeurs"
Existe-il un moyen de faire ce lien instantané ? par une macro (associé à un bouton "mise à jour" dans File1) ?
Merci beaucoup de votre aide !
Bonne soirée.
A voir également:
- Activeworkbook.updatelink
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Verificateur de lien - Guide
6 réponses
Bonjour,
Essayer avec le code qui suit à mettre dans un module de votre classeur [Fichier 1] ;
Ne pas oublier de mettre le chemin correct... !
La procédure :
Essayer avec le code qui suit à mettre dans un module de votre classeur [Fichier 1] ;
Ne pas oublier de mettre le chemin correct... !
La procédure :
Sub maj_liaison()
ActiveWorkbook.UpdateLink Name:="C:\mettre le chemin de votre base de donnée \BDD.xls", Type:=xlExcelLinks
End Sub
Bonjour,
Avez-vous indiqué le répertoire et le chemin correctement ... ?
Eventuellement mettre le classeur sur https://www.cjoint.com/ et poster le lien.
Avez-vous indiqué le répertoire et le chemin correctement ... ?
Eventuellement mettre le classeur sur https://www.cjoint.com/ et poster le lien.
Bonjour,
Faut-il déclare "Name" ... je ne comprends pas !
Par contre en fin de chemin vous devez avoir le nom du classeur et son extension.
Sans bonjour, rien de plus.
Faut-il déclare "Name" ... je ne comprends pas !
Par contre en fin de chemin vous devez avoir le nom du classeur et son extension.
Sans bonjour, rien de plus.
Bonjour,
Merci de l'information.
Pas besoin de déclaration car il s'agit de nom réservé par le système (idem pour Type).
Pas de classeur, alors je vous suggère d'utiliser l'enregistreur de macro et de réaliser les manipulations selon : => je suis obligé de faire "connexions", "mise à jour des valeurs"
Et ensuite vous pouvez me montrer le code enregistré... !
Merci de l'information.
Pas besoin de déclaration car il s'agit de nom réservé par le système (idem pour Type).
Pas de classeur, alors je vous suggère d'utiliser l'enregistreur de macro et de réaliser les manipulations selon : => je suis obligé de faire "connexions", "mise à jour des valeurs"
Et ensuite vous pouvez me montrer le code enregistré... !
Bonjour,
Ah oui je ne pensais plus à l'enregistreur ! ça marche (voir en bas du message), il me semble qu'il y a juste un "tiret du 8" après le lien, par rapport au code que vous m'aviez donné.
Cependant, quand la macro s'exécute, il m'ouvre une fenêtre pour sélectionner le fichier "BDD" (afin de faire la liaison je pense).
Est-ce possible de ne pas la faire apparaître ?
Et également que la macro s'execute automatiquement s'il y a une modification d'une cellule Excel quelconque ?
Merci beaucoup !
Bonne soirée.
Sub MAJBDD()
ActiveWorkbook.UpdateLink Name:= _
"D:\....xlsm" _
, Type:=xlExcelLinks
End Sub
Ah oui je ne pensais plus à l'enregistreur ! ça marche (voir en bas du message), il me semble qu'il y a juste un "tiret du 8" après le lien, par rapport au code que vous m'aviez donné.
Cependant, quand la macro s'exécute, il m'ouvre une fenêtre pour sélectionner le fichier "BDD" (afin de faire la liaison je pense).
Est-ce possible de ne pas la faire apparaître ?
Et également que la macro s'execute automatiquement s'il y a une modification d'une cellule Excel quelconque ?
Merci beaucoup !
Bonne soirée.
Sub MAJBDD()
ActiveWorkbook.UpdateLink Name:= _
"D:\....xlsm" _
, Type:=xlExcelLinks
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Est-ce possible de ne pas la faire apparaître ? Je pense que Oui, pour cela il faut voir la macro complète que vous utilisez.... !
En tout cas ce n'est la macro en fin de message qui ouvre une fenêtre.... !
Note : pour information les tirets dans le code c'est utilisé pour le retour à la ligne lorsque la ligne de code est trop longue. (Cela fait office de liaison pour la ligne de code sur plusieurs lignes)
Salutations.
Le Pingou
Est-ce possible de ne pas la faire apparaître ? Je pense que Oui, pour cela il faut voir la macro complète que vous utilisez.... !
En tout cas ce n'est la macro en fin de message qui ouvre une fenêtre.... !
Note : pour information les tirets dans le code c'est utilisé pour le retour à la ligne lorsque la ligne de code est trop longue. (Cela fait office de liaison pour la ligne de code sur plusieurs lignes)
Salutations.
Le Pingou
Bonsoir,
Merci encore pour votre aide.
La fenêtre n'apparaît plus, j'avais un soucis de lien car le fichier BDD est sur un disque réseau commun.
La macro que vous m'avez proposé fonctionne avec un bouton que j'ai créé sur ma feuille.
Ma dernière question est: comment faire pour s'affranchir du bouton ? C'est-à-dire que l'actualisation soit faite juste par le fait de cliquer sur une autre cellule de la feuille ?
Bonne soirée.
Merci encore pour votre aide.
La fenêtre n'apparaît plus, j'avais un soucis de lien car le fichier BDD est sur un disque réseau commun.
La macro que vous m'avez proposé fonctionne avec un bouton que j'ai créé sur ma feuille.
Ma dernière question est: comment faire pour s'affranchir du bouton ? C'est-à-dire que l'actualisation soit faite juste par le fait de cliquer sur une autre cellule de la feuille ?
Bonne soirée.
Merci beaucoup de ta réponse !
J'ai le message d'erreur "la méthode UpdateLink de l'objet '_Workbook' a échoué".
Peux-tu m'aider stp ?
J'ai juste créé un nouveau module avec le code et un bouton dans ma feuille appelant la macro.
Bonne journée.