• Initiateur de la discussion Initiateur de la discussion babykoala
  • Date de début Date de début

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 !

B

babykoala

Guest
Bonjour,

J'utilise excel pour récupérer des données provenant d'un scanner à code barres lié en RS232. Les données transit par un logiciel billredirect et un plug in de transmission.

Les codes barres sont saisis les un après les autres dans un tableau.

Le classeur excel de réception des données est affiché sur mon écran pour controle des données.

En saisie classique dans excel, quand on arrive à la dernière cellule en bas de page, le défilement automatique se met en route et permet de suivre les dernière valeur saisie.

Avec le scanner RS232 (qui ne simule pas le clavier), le défilement auto ne s'effectue pas et du coup les valeurs se saisissent sans que je puisse controler.

Le défilement manuel n'est pas possible.

Avez-vous une solution à mon souci ?

Merci
 
Re : Défilement Excel

A évaluer :

Dans un Module :
Code:
Option Explicit
Public TimeScroll
Sub Scroll()
    Cells(ActiveCell.SpecialCells(xlLastCell).Row, 1).Select
    TimeScroll = Now + TimeValue("00:00:01")
    Application.OnTime TimeScroll, "Scroll"
End Sub

Dans ThisWorkbook
Code:
Option Explicit
Private Sub Workbook_Open()
TimeScroll = Now + TimeValue("00:00:01")
Application.OnTime TimeScroll, "Scroll"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime TimeScroll, "Scroll", , False
End Sub
 
Re : Défilement Excel

Bonsoir le fil 🙂,
A tester dans le code de la feuille
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 3 Then ActiveWindow.ScrollRow = Target.Row - 2
End Sub
Bonne soirée 😎
 
Re : Défilement Excel

Je viens de tester vos propositions et cela ne fonctionne pas, les saisies se font bien, mais pas défilement automatique.

J'ai oublié de préciser une chose, qui doit être importante. Le plugin qui envoi les données utilise une liaison DDE.
 
Dernière modification par un modérateur:
Re : Défilement Excel

Re 🙂,
Là, on avance en territoire inconnu 🙄...
Essaie de mettre dans ThisWorkbook
Code:
Private Sub Workbook_Open()
ActiveWorkbook.SetLinkOnData _
    "WinWord|'C:\MSGFILE.DOC'!DDE_LINK1", _
    "my_Link_Update_Macro"
End Sub
Sub my_Link_Update_Macro()
MsgBox "Coucou"
End Sub
en modifiant le chemin de ton lien, ferme le fichier, rouvre-le, et si il fait Coucou à chaque coup de douchette, on devrait pouvoir s'en sortir ensuite 😛.
A + 😎
 
Re : Défilement Excel

Re 🙂,
Bonne question, je n'ai pas la doc de ton DDE 😱...
A priori, le lien DDE se fait d'Excel vers un document qui doit être lié à ta douchette...
Dans l'exemple donné dans l'aide de VBA :
"WinWord|'C:\MSGFILE.DOC'!DDE_LINK1"
WinWord pour l'application Word
C\MSGFILE.DOC pour le chemin et le nom du document
DDE_LINK1 pour le nom du lien
Je ne sais pas ce qu'il en est chez toi...
Essaie de te renseigner avec celui qui t'as installé la douchette.
Bon courage 😎
 
Re : Défilement Excel

Re 🙂,
Pour déterminer le lien, il semblerait que tu peux utiliser ces 2 macros, et pense à noter pour la suite si c'est du OLE ou du Excel...
Code:
Sub Test1() ' source OLE
aLinks = ActiveWorkbook.LinkSources(xlOLELinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
        MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
    Next i
End If
End Sub
Sub Test1() ' source Excel
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
        MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
    Next i
End If
End Sub
A + 😎
 
Re : Défilement Excel

Re 🙂,
Pour déterminer le lien, il semblerait que tu peux utiliser ces 2 macros, et pense à noter pour la suite si c'est du OLE ou du Excel...
Code:
Sub Test1() ' source OLE
aLinks = ActiveWorkbook.LinkSources(xlOLELinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
        MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
    Next i
End If
End Sub
Sub Test1() ' source Excel
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
        MsgBox "Link " & i & ":" & Chr(13) & aLinks(i)
    Next i
End If
End Sub
A + 😎

En scannant, une erreur apparait : erreur de compilation, nom ambigu au niveau du sub test 1 source excel ...

Le fabriquand du logiciel DDE (billproduction) m'a dit que le transfert DDE vers excel se faisait directement.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
Réponses
1
Affichages
2 K
G
Réponses
17
Affichages
4 K
G
Retour