VBa utilisant un complément - valider automatiquement

Hieu

XLDnaute Impliqué
Bonjour,

J'ai une macro qui lance un complément;
Celui-ci demande systématiquement d'enregistrer un fichier que je souhaite écraser par défaut, et donc, derriere, j'ai un popup qui me demande par la suite si je veux l'écraser
upload_2017-10-10_21-39-21.png

Comment dire toujours oui afin d'éviter à l'utilisateur de rester devant le pc, pour valider ?


Voilà mon début de code (le display alert ne fonctionne pas...)
VB:
Sub mlk()
Application.DisplayAlerts = False
For Each s In Sheets
s.Select
Application.Run ("'toto'!toto") ' changé le nom de l'application pour la confidentialité
Next s
End Sub

et je n'ai pas de fichier à fournir, c'est un complément pro qui n'est pas externalisable, desolé

SI vous avez des idées ?
Je pencherai sur des application.
 

thebenoit59

XLDnaute Accro
Bonjour Hieu.
Bonjour le forum.

Pour un programme de facturation, j'avais un peu le même soucis.
Quand je modifiais la facture, comment valider le remplacement du fichier.
Finalement j'ai décidé de détruire le fichier existant avant d'enregistrer le nouveau.
 

Hieu

XLDnaute Impliqué
Salut thebenoit59,

Merci pour cette premiere reponse.
As-tu une ligne de commande pour supprimer le fichier existant ?

A chaque boucle de la macro, on me demande :
- enregistrer sous : titi.ses
- voulez-vous écraser l'existant
- autre popup où il faut répondre ok

Tant que ces 3 points ne sont pas validés, je reste coincé sur la ligne Application.Run ("'toto'!toto").

La question :
Existe-t-il une(des) ligne(s) de commande pour valider automatiquement les demandes à l'utilisateur?

Du style Application.DisplayAlerts = False (mais celle-ci ne marche pas)
 

thebenoit59

XLDnaute Accro
Voici le code dans le programme :

VB:
    'Vérifie qu'une valeur a bien été trouvée (nous ne savons jamais).
    If Not fileDelete = "" Then
        If fncCheckFile(fileDelete) Then Kill fileDelete
    End If
  1. Je vérifie que le chemin (fileDelete) est rempli.
  2. Je vérifie l'existence du fichier (s'il a été supprimé manuellement ou renommé).
  3. Sil 'existe je le détruis (Kill).
 

Hieu

XLDnaute Impliqué
Salut @thebenoit59,

J'ai l'impression qu'on diverge ^^
Ou peut-etre mettre ton code juste avant le commande
VB:
Application.Run ("'toto'!toto")

Que remplies-tu dans fileDelete ?
A quoi ressemble la function fncCheckFile(fileDelete) ?

La question qui résiste :
Existe-t-il une(des) ligne(s) de commande pour valider automatiquement les demandes à l'utilisateur?
( Application.toto = True/False)
 

thebenoit59

XLDnaute Accro
Bonjour Hieu.

Pour répondre à la seconde partie.
Je n'ai pas la moindre idée si on peut automatiquement valider les demandes.

Concernant le premier point :
fileDelete : le chemin du fichier (C:\...)
fncCheckFile : vérifie la présence du fichier sur le disque.

VB:
Function fncCheckFile(pathFile$) As Boolean
If Dir(pathFile) <> "" Then
    fncCheckFile = True
    Else: fncCheckFile = False
End If
End Function
 

Statistiques des forums

Discussions
312 156
Messages
2 085 815
Membres
102 991
dernier inscrit
remyexcel