Microsoft 365 import fichier fermé sous condition

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

J'ai besoin d'importer des informations provenant d'un fichier fermé.
Le contexte
Dans le même dossier j'ai :
1 classeur "Clients" qui contient les informations à importer,
1 classeur "test_adrMail" qui reçoit les informations
Pour faire mes importations j'utilise la code de Pierre - tatiak (encore merci à toi) qui fonctionne nickel.

Le besoin
Toutefois, dans le cas qui me préoccupe, j'ai besoin de faire ces importations sous condition :
- Pour les N° dans fichier Clients feuille "Données"- col"B"
- qui correspondent aux N° fichier test_adrMail feuille "Mails_Clients"- col"D"
Import adresses mails Clients feuille "Données"- col"A" dans fichier test_adrMail feuille "Mails_Clients"- col"C"

J'ai tenté mais je ne sais pas faire 😡
Pourriez-vous m'aider ?
Je joins les fichiers tests.

Avec mes remerciements,
Je vous souhaite à toutes et à tous une douce nuit,
lionel
 

Pièces jointes

Dernière édition:
Solution
Allons Lionel, ni la solution de Jacky67 ni la mienne du post #5 ne conviennent.

En effet les liens hypertextes d'origine ne sont pas copiés.

Pour qu'ils soient copiés il n'y a pas d'autre solution que d'ouvrir le fichier source :
VB:
Sub test_import()
Dim chemin$, fichier$, F As Worksheet, i&, j As Variant
chemin = ThisWorkbook.Path & "\"
fichier = "Clients.xlsm"
If Dir(chemin & fichier) = "" Then MsgBox "Le fichier '" & fichier & "' est introuvable !", 48: Exit Sub
Application.ScreenUpdating = False
Application.EnableEvents = False 'sécurité, désactive les évènements
Application.DisplayAlerts = False 'si le fichier source est ouvert
On Error Resume Next: Workbooks(fichier).Close: On Error GoTo 0 'on le ferme
Set F =...
Bonjour Gérard, Jacky67, le Forum,
Bon et beau dimanche à toutes et à tous 🙂

@Gérard : J'ai testé hier au soir et je confirme (sauf erreur si fatigue trop avancée) que les 3 solutions fonctionnent (fichier source fermé) 🙂

A moins que j'ai zappé à chaque test une exécution des codes. J'ai testé une bonne dizaine de fois chaque solution en modifiant à chaque test les noms des emails dans le fichier source.
Lionel 🙂
 
Bonjour Lionel,

Avec la solution de mon post #14 il y a un lien hypertexte dont on peut voir l'adresse dans l'infobulle en survolant le texte en colonne C.

Avec les solutions des posts #5 et #12 il n'y a pas d'infobulle car pas de lien.

A+
 
Re Gérard,
Quelle perspicacité ... je suis toujours bluffé 😛
Merci à toi pour cette nouvelle version super nickel.
Evidemment ça fonctionne super bien.
Merci_Gerard2.gif

lionel,
 
Il est logique d'ajouter une Workbook_Activate, le fichier source pouvant être ouvert :
VB:
Dim ouvre As Boolean 'mémorise la variable

Private Sub Workbook_Open()
ouvre = True
test_import
Me.Saved = True 'évite l'invite à la fermeture si aucune modification
End Sub

Private Sub Workbook_Activate()
If ouvre Then ouvre = False Else test_import
End Sub
Fichier (3).
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
242
Réponses
40
Affichages
2 K
Réponses
9
Affichages
684
Réponses
26
Affichages
1 K
Réponses
13
Affichages
804
Réponses
4
Affichages
671
Retour