XL 2019 Actualisation d'un fichier excel sans l'ouvrir

Thomas10m

XLDnaute Nouveau
Bonjour à tous,

Je cherche à actualiser un fichier excel sans l'ouvrir. Mon but était d'automatiser complètement une campagne de relance par mail. J'ai commencé par prendre des données de mon entreprise par Power Query, que j'ai mise sur un fichier excel. Ensuite j'ai mis des formules et des filtres spécifiques pour mes envoies de mails. Puis j'ai créé un flux sur Power Automate pour que ma campagne de relance soit automatique. La seule chose que je n'ai pas rendu automatique est l'actualisation de mes données excel sans ouvrir un fichier.
Quelqu'un sait comment actualiser un fichier excel sans l'ouvrir?

Dans l'attente d'une réponse.

Cordialement,

Thomas
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Thomas, et bienvenu sur XLD,
Regardez ces liens :
Le plus simple est de figer l'écran par un "Application.ScreenUpdating = false" d'ouvrir le fichier, le modifier, l'enregistrer et le fermer.
C'est invisible et rapide.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
car je ne maitrise pas trop le VBA.
Un ex simple en PJ où s'est détaillé, avec en VBA :
VB:
Sub ModifierFichier()
    Application.ScreenUpdating = False                      ' Fige l'écran
    NomFichier = [C3] & [C4]                                ' Construction du chemin du fichier concerné
    Feuille = [C5]                                          ' Nom de la feuille à modifier
    Addresse = [C6]                                         ' Adresse de la cellule à modifier
    Valeur = [C7]                                           ' Valeur à écrire
    Workbooks.Open NomFichier                               ' Ouvre le fichier
    ActiveWorkbook.Sheets(Feuille).Range(Addresse) = Valeur ' Ecrit la valeur à l'adresse indiquée
    ActiveWorkbook.Close SaveChanges:=True                  ' Ferme le fichier en enregistrant.
End Sub
Evidemment optimisable suivant votre appli, le nombre d'écriture à effectuer ....
 

Pièces jointes

  • ModifFichier.xlsm
    15.4 KB · Affichages: 11

Thomas10m

XLDnaute Nouveau
Merci de ton aide, j'ai essayé, cela ne marche pas dès la premiere ligne.
1667987304717.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Evidemment, la ligne en rouge est incompréhensible en VBA.
D'abord cela doit être une chaine de caractères, donc commençant et finissant par ".
Ensuite il faut lui dire ce que c'est, par exemple Chemin=" ....... "

Pourquoi, en premier, ne pas tester ma PJ ? Ce serait plus simple, surtout si vous ne maitrisez pas le VBA.
Vous renseignez les cellules C3 à C7 puis appuyez sur le bouton.
Ensuite, si vous voulez que tout se passe en VBA, testez cette PJ. Il faut modifier la première partie

VB:
Sub ModifierFichier()
'--------------------------------------------------------------------------------------------------------------------
' Partie à modifier
    NomFichier = "C:\Users\PC_PAPA\OneDrive\Classeur_à_modifier.xlsx"   ' Modifiez chemin et nom fichier
    Feuille = "Feuil1"                                                  ' Modifiez la feuille à modifier
    Addresse = "A1"                                                     ' Modifiez l'Adresse de la cellule à modifier
    Valeur = 123456789                                                  ' Modifiez Valeur à écrire
'--------------------------------------------------------------------------------------------------------------------
    Application.ScreenUpdating = False                                  ' Fige l'écran
    Workbooks.Open NomFichier                                           ' Ouvre le fichier
    ActiveWorkbook.Sheets(Feuille).Range(Addresse) = Valeur             ' Ecrit la valeur à l'adresse indiquée
    ActiveWorkbook.Close SaveChanges:=True                              ' Ferme le fichier en enregistrant.
End Sub
 

Pièces jointes

  • ModifFichier V2.xlsm
    15.3 KB · Affichages: 14

Discussions similaires

Réponses
6
Affichages
314

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16