Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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+
 
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
685
Réponses
26
Affichages
1 K
Réponses
13
Affichages
804
Réponses
4
Affichages
671
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…