IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Excel visible false mais s'affiche


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 9
    Par défaut Excel visible false mais s'affiche
    Bonjour ... je suis nouveau et je sais rien .

    j'ai une application vbnet avec comme BDD excel (exemple :NNNN) a propriete visible= false au demarrage . tout est normal
    mais lorsque j'execute un autre document excel de mon PC et l'application est ouverte......


    mon excel(NNNN) devient visible


    ... avec le document qui est execute a partir du PC , et c'est bizarre pour l'utilisateur . et dans le gestionnaire de tache ,(NNNN) ne reste plus parmi les fichiers de l arriere fond

    pouvez vous me donner une solution? et merci d'avance

  2. #2
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonjour,

    Quand tu ouvres une feuille XLS avec ton programme VB, ce n'est pas Excel.exe qui est exécuté. Il est donc normal de ne pas trouver de processus Excel dans le gestionnaire des tâches.
    Pour ce qui est de la feuille, visible ou invisible, cela ne change rien au fait qu'elle est instanciée et existe. Tu peux tester, qu'après avoir ouvert ta feuille avec VB et l'avoir rendue Visible=True dans VB, tu ne peux l'ouvrir (sauf en lecture seule) avec Excel lui-même.
    De plus, pour que VB ouvre correctement la feuille Excel, il faut qu'elle puisse être visible. Et si tu la rends invisible dans le code, il convient que tu lui rendes sa visibilité dans ce même code.

    Voici un extrait de code (de bonne facture) qui ouvre une feuille Excel existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Imports Excel = Microsoft.Office.Interop.Excel
     
     
    Public Class  '  .............
     
        Dim XLSAPP As Excel.Application = Nothing
     
    '  .............
     
    Private Sub BExcel_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BExcel.Click
            XLSAPP = New Excel.Application
            XLSAPP.Visible = True
            XLSAPP.Workbooks.Open("D:\Tmp\ProbExcel\Test.xls")  'ouvir le fichier XLS
     
    ' Il est possible de programmer en VB ce qu'on ferait en Macro
            XLSAPP.Range("C4").Select()                 'sélectionner une cellule
            XLSAPP.ActiveCell.FormulaR1C1 = "127"   'y placer la valeur 127
     
     'Il est aussi possible de lancer une macro du fichier XLS
            XLSAPP.Run("MaMacro") 'exécuter la macro MaMacro
            'XLSAPP.Run("UneMacro", Test)  ' appel de la macro en lui ,passant les arguments ....
    '  .............
    Tu dois encore savoir que le code est différent (un peu) pour :
    • Ouvrir une feuille Excel qui n'est encore ouverte par rien
    • Accéder à une feuille Excel qui est déjà ouverte par Excel
    • Accéder à une feuille Excel qui est déjà ouverte par TON programme VB

    J'espère que ceci t'aidera ...

  3. #3
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonjour,

    utiliser Excel comme base de donnée est une mauvaise idée.

    Ceci étant dit, ton comportement doit provenir du réglage d'Excel sur la machine qui doit surement ouvrir tous les documents dans la même instance de l'application.
    Ceci est modifiable par les clés de registre (à chercher sur le net).

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 9
    Par défaut
    merci pour les deux
    1- en faite j'ai pas de probleme pour open excel . et le fichier se voit dans l'arriere fond du gestionnaire. mais le probleme se pose lorsque j'execute un autre fichier de excel
    2- on peut modifier dans regedit . mais ceci ne change rien si on on double clic sur un 2e fichier excel dans l'explorateur windows . cad il ya toujours une seule instance dans ce cas meme apres modification du regedit . il ya un changement dans option de excel mais le fichier sera ouvert vide .
    j'ai des milliers d'enregistrements , quelle BDD si on utilise pas office microsoft?

  5. #5
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Perso, j'ai rien contre Office mais en matière de DB, Sankass... a raison, Excel n'est pas le plus approprié. Sous Office, il y a aussi Access qui est justement un gestionnaire de DB (un SGBD). Et puis, il y a d'autres SGBD comme SQL Express (parfait pour tourner avec VB) ou MySql. Bien sûr là, il faut travailler avec des liaisons ADODB ou ODBC ou OLE DB, ...
    Après tout ceci je dois bien reconnaître que Excel est un bon substitut aux vraies DB lorsque les données ne sont pas "normalisées" : j'entends par là, organisées par une analyse relationnelle correcte, par exemple selon la méthode Merise.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 9
    Par défaut
    merci Phil Rob .. l'essentiel pour moi est de manipuler mes donnees enormes par un programme (vb.net)
    si je trouve une solution autre que excel je veux bien . je n'ai aucune idee pour les sql . si par exemple on a 10000 noms avec leurs criteres comment on va proceder ?

  7. #7
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Quand je parle de SGBD tel Access ou SQLEXpress, j'entends bien que tu accèdes aux données par VB, comme tu le fais pour Excel, tu peux le faire aussi pour un SGBD donné, mais avec des outils d'accès différents.

    Vois-tu, 10000 noms n'est rien. Mais qu'y a-t-il à côté de chaque nom ?

    Par exemple, on peut gérer les noms des personnes, avec leur date de naissance, leur mail et leur adresse complète. Dans Excel, chaque personne occupe une ligne de la feuille.

    Pour gérer les mêmes informations dans une DB, sans normalisation, une seule table suffit. La table sera dans Access (par exemple) ce que ta feuille est dans Excel.
    Dans une DB normalisée, il y aura au moins 2 tables pour cet exemple : une pour toutes les infos sauf la localité de l'adresse et une autre rien que pour les localités.

    Mais si tu n'as aucune notion à propos de la normalisation des données, et compte tenu que cela ne s'apprend pas en quelques minutes, peut-être que l'utilisation d'une DB avec une seule table sera une bonne solution ...

    J'aimerais avoir l'avis de Sankasssss sur la question.

    Avec l'accord de toutes les parties , je pourrai te fournir (demain) un exemple de gestion d'une telle table en utilisant le SGBD Access.

    En attendant, je suis intéressé de recevoir la liste des infos de tes personnes, éventuellement quelques lignes (avec des données fictives) de ta feuille Excel.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/09/2012, 16h29
  2. Réponses: 6
    Dernier message: 26/07/2006, 11h00
  3. excel: colonne qui ne s'affiche pas dans une liste
    Par fast&furious dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 18h12
  4. Boot mais n'affiche rien
    Par log2n dans le forum Assembleur
    Réponses: 28
    Dernier message: 03/11/2005, 21h16
  5. [Quick Report] Valeur d'un champ existante mais non affichée
    Par navis84 dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/03/2005, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo