Récupération de données excel depuis VB.NET

Résolu
voulfka1688 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -  
voulfka1688 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voila je cherche une solution pour concevoir un petit "panneau" en VB.Net qui récupérerait des informations présent sur une ligne d'un classeur excel. A chaque fois que l'utilisateur clique sur une nouvelle ligne les infos sur le panneau se mettent à jour.

La fenêtre du panneau aurait la propriété "Top Most" = True

(le fichier excel à beaucoup de colonnes, le but étant de condenser les infos sur ce panneau sans toucher à l'architecture du fichier excel.)

Avez-vous des pistes ?

Cordialement.
A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour

https://codes-sources.commentcamarche.net/source/101574-import-excel-dans-datagridview-en-vb-net

Ou encore
https://codes-sources.commentcamarche.net/source/50624-piloter-excel-via-microsoft-office-interop-excel (En c# mais il suffit de passer le code dans un traducteur ligne)

Sinon il existe des solutions avec Linq qui fonctionnent sur les xlxs
1
voulfka1688 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour Whismeril,

Tout d'abord, mes excuses pour le retard de ma réponse. J'ai déjà quelques notions de communications entre VB.net et Excel, mais je voudrais que mon "panneau" soit en support du fichier excel, que l'utilisateur garde la main sur le fichier ouvert dans excel. le but étant reporter des infos uniquement.

je vais faire des tests mais cela va prendre du temps ... (vie perso oblige.)
en tout cas merci de ton assistance.

Cdt.
0
Utilisateur anonyme
 
Les deux codes que je t'ai proposé utilisent l'automantion, donc ça ouvre le fichier.
Du coup, l'utilisateur peut agir dans le fichier.

Par contre, il faut faire en sorte que ton appli vb.net vérifie régulièrement si les données ont changées.
1
voulfka1688 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonsoir Whismeril,

J'ai pu aboutir mon petit programme, il m'a été un peu compliqué de comprendre comment récupérer l'adresse de la cellule active dans excel (petite subtilité ce n'est pas le worksheet mais l'app qui détient cette "fonction") :

Dim appExcel As Excel.Application
Dim wbExcel As Excel.Workbook
Dim wsExcel As Excel.Worksheet

AdresseActiveCell = appExcel.ActiveCell.Row

en tout cas impeccable.

Merci encore.

EDIT : pour le contrôle régulier si l'utilisateur change de cellule active j'ai utilisé un timer avec intervalle à 2000
0
Utilisateur anonyme
 
Pour savoir si la cellule sélectionnée change il y a
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.tools.excel.namedrange.selectionchange?redirectedfrom=MSDN&view=vsto-2017

Et si le contenu d'une cellule change
https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.tools.excel.namedrange.change?redirectedfrom=MSDN&view=vsto-2017

Ça me parait plus judicieux que le timer.

Je n'ai pas eu l'occasion de tester ces fonctionnalités, car je ne fais qu'exporter des données.

0
voulfka1688 Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   1
 
je te remercie pour ce complément et m'excuse pour le retard. Je vais me pencher dessus rapidement.

Cdt.
0