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

Résolu/Fermé
voulfka1688 Messages postés 55 Date d'inscription jeudi 15 novembre 2012 Statut Membre Dernière intervention 9 mai 2020 - 9 mars 2017 à 16:23
voulfka1688 Messages postés 55 Date d'inscription jeudi 15 novembre 2012 Statut Membre Dernière intervention 9 mai 2020 - 27 mars 2017 à 19:23
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
9 mars 2017 à 17:08
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 jeudi 15 novembre 2012 Statut Membre Dernière intervention 9 mai 2020 1
12 mars 2017 à 21:55
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
12 mars 2017 à 22:53
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 jeudi 15 novembre 2012 Statut Membre Dernière intervention 9 mai 2020 1
Modifié par voulfka1688 le 18/03/2017 à 22:24
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
19 mars 2017 à 19:06
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 jeudi 15 novembre 2012 Statut Membre Dernière intervention 9 mai 2020 1
27 mars 2017 à 19:23
je te remercie pour ce complément et m'excuse pour le retard. Je vais me pencher dessus rapidement.

Cdt.
0