XL 2010 problème macro qui désactive le pavé numérique

epeter

XLDnaute Nouveau
Bonsoir j'ai un problème avec la macro suivante qui désactive le pavé numérique quand elle s'éxécute. Cette macro ouvre un fichier .txt et copie l'ensemble de son contenu dans le presse papier. Quelqu'un pourrait-il m'aider ?

Sub OuvrirASSUAvecBlocNotes()
Dim CheminFichier As String
Dim ClasseurActuel As Workbook
Dim DLU As Integer
CheminFichier = "C:\Users\manep\Downloads\ASSU.txt" ' Remplacez par le chemin de votre fichier

' Vérifiez si le fichier existe
If Dir(CheminFichier) <> "" Then
' Ouvrez le fichier avec le Bloc-notes
Shell "notepad.exe " & CheminFichier, vbNormalFocus
'Application.Wait (Now + TimeValue("00:00:01"))
Application.Wait (Now + 0.000007)

'Envoyez des touches Ctrl+A pour sélectionner tout le texte
Application.SendKeys "^a", True
Application.SendKeys "^c", True
Else
MsgBox "Le fichier n'existe pas.", vbExclamation
End If
End Sub
 

Dudu2

XLDnaute Barbatruc
Remplace:
VB:
CreateObject("wscript.shell").SendKeys "^a"
CreateObject("wscript.shell").SendKeys "^c"
par:
Code:
CreateObject("wscript.shell").SendKeys "^a"
CreateObject("wscript.shell").SendKeys "^c"
CreateObject("wscript.shell").SendKeys "%{F4}"

Et remplace:
Sass:
.Paste
par
Code:
CreateObject("wscript.shell").SendKeys "^v"
 

Dranreb

XLDnaute Barbatruc
Sinon, moi je l'aurais peut être écrit comme ça :
VB:
Option Explicit
Sub RécupASSU()
   Dim CheminFichier As String, LMax As Long, TLus() As String, TRés(), L As Long, _
      TSpl() As String, C As Integer, RngCible As Range
   Dim ClasseurActuel As Workbook
   Dim DLU As Integer
   CheminFichier = "C:\Users\manep\Downloads\ASSU.txt" ' Remplacez par le chemin de votre fichier
   If Dir(CheminFichier) <> "" Then ' Vérifiez si le fichier existe
      ReDim TLus(1 To 1000)
      Open CheminFichier For Input As #1
      Do While Not EOF(1): LMax = LMax + 1: Line Input #1, TLus(LMax): Loop
      Close #1
      ReDim TRés(1 To LMax, 1 To 7)
      For L = 1 To LMax
         TSpl = Split(TLus(L), vbTab)
         TRés(L, 1) = CDate(TSpl(0))
         For C = 2 To 6: TRés(L, C) = Val(TSpl(C - 1)): Next C
         TRés(L, 7) = TSpl(6)
         Next L
      Set RngCible = ThisWorkbook.Sheets("Ex ASSU").[A1000000].End(xlUp).Offset(1)
      RngCible.Resize(LMax, 7).Value = TRés
   Else
      MsgBox "Le fichier " & CheminFichier & " n'existe pas.", vbExclamation, "RécupASSU"
      End If
   End Sub

J'ai oublié une instruction derrière Open CheminFichier For Input As #1 :
VB:
      Line Input #1, TLus(1) ' Pour sauter les entêtes.
 
Dernière édition:

Statistiques des forums

Discussions
315 094
Messages
2 116 154
Membres
112 670
dernier inscrit
Flow87