Commande Displayalerts ne fonctionne pas

doudom

XLDnaute Nouveau
Bonsoir,

J'ai un code qui me permets de copier des cellules dans le bloc note.
Par contre, je souhaite enregistrer a chaque fois par dessus, mais je n'arrive pas à éviter le message 'fichier existe deja.......)

J'ai essayé Application.DisplayAlerts = False à plusieurs endroits, mais j'ai toujours l'avertissement.

Mon code ci-dessous

Merci d'avance pour l'aide

Doudom



Sub BlocNote()

range("EQ3:EU22").Copy

AppActivate Shell("C:\windows\Notepad.exe", 1)

SendKeys "^v"

SendKeys "^s"
Application.DisplayAlerts = False

SendKeys "C:\Users\XXX\Documents\test.txt"
' Comme si on cliquait sur OK :
SendKeys "{ENTER}"

Application.DisplayAlerts = True

End Sub
 

GeoTrouvePas

XLDnaute Impliqué
Re : Commande Displayalerts ne fonctionne pas

Bonsoir,

Il y a des solutions plus simples et bien plus rapides pour injecter du texte dans le bloc notes. Voici un exemple :

Code:
Sub InjecterTxt
    Open C:\Users\XXX\Documents\test.txt For Append As #1
    Print #1, "Mon message à injecter"
    Close #1
End Sub

Avec cette soluce, tu n'as plus de messages affichés et plus besoin d'utiliser SendKeys.

Bonne soirée.

N.B. : Penses à utiliser la balise "code" dans te messages. :D
 

doudom

XLDnaute Nouveau
Re : Commande Displayalerts ne fonctionne pas

Bonsoir,

Merci pour la réponse. Ton code me renvoi une erreur de syntaxe

Je cherche juste à forcer la sauvegarde, dans le bloc note sans avoir à confirmer, suite au message "le fichier existe deja..."

Bonne soirée
Doudom

PS : je penserai à la balise pour la prochaine fois:eek:
 

GeoTrouvePas

XLDnaute Impliqué
Re : Commande Displayalerts ne fonctionne pas

Oups.....
Il manquait juste les guillemets dans :
Code:
Open "C:\Users\XXX\Documents\test.txt" For Append As #1

Après pour forcer la sauvegarde du bloc note je n'en ai aucune idée.
Mais si tu as beaucoup de cellules à recopier dans ton bloc note, tu devrais essayer la méthode décrite ci - dessus. L'injection se fait de manière instantanée et le résultat est bien plus fiable qu'avec l'utilisation de sendkey.

Si tu as les cellules A1 à A100 à recopier, tu peux même la transformer de cette façon pour avoir un code rapide, efficace et fiable :


Code:
Sub RecopieCells
    For i = 1 to 100
        Call InjecterTxt(Cells(i, 1))
    Next
End Sub

Sub InjecterTxt(MonMessage as String)
    Open "C:\Users\XXX\Documents\test.txt" For Append As #1
    Print #1, MonMessage
    Close #1
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 192
Messages
2 086 056
Membres
103 110
dernier inscrit
Privé