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

VSTO .NET Discussion :

Visual studio 2015 - générer bordures autour de cellules Excel


Sujet :

VSTO .NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Visual studio 2015 - générer bordures autour de cellules Excel
    Bonjour,

    Le code suivant qui devrait générer des bordures autour de cellules Excel ne fonctionne pas.
    Pas d'erreur mais pas de bordure.

    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
    Imports Microsoft.Office.Interop.Excel
     
     Sub
     
      Dim AppExcel As Object
      AppExcel = CreateObject("Excel.Application")
      AppExcel.WorkBooks.Open(Path & fichier Excel)
      AppExcel.Application.Visible = False
      AppExcel.ActiveWorkbook.Sheets(1).Activate
     
      With  AppExcel.ActiveWorkbook.Sheets(1)
    	.cells(1, 1).style.Interior.Pattern = XlPattern.xlPatternSolid
     End With
     
     AppExcel.ActiveWorkbook.Save
     AppExcel.ActiveWorkbook.Close()
     AppExcel.DisplayAlerts = True 
     
     End Sub
    Merci de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Pour des bordures en traits fins
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(1, 1).Borders().Weight = xlThin
    en traits épais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cells(1, 1).Borders().Weight = xlMedium
    Cdlt

  3. #3
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par lionyz Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      With  AppExcel.ActiveWorkbook.Sheets(1)
    	.cells(1, 1).style.Interior.Pattern = XlPattern.xlPatternSolid
     End With
    Si je ne me trompe pas, plusieurs éléments me semble erronés dans ce code

    Styles n'est pas membre de l'objet Sheet mais à l'objet Workbook.
    https://docs.microsoft.com/fr-FR/off...orkbook.styles

    Pattern ne définit pas les bordures mais le motif de remplissage.
    https://docs.microsoft.com/fr-FR/off...terior.pattern
    Tu as mis un type de remplissage Solid. Si la couleur par défaut est blanche, il est normal que tu ais l'impression que rien ne se produise.
    Pour les Bordures, il ne faut pas passer par Interior mais par Borders.
    https://docs.microsoft.com/fr-FR/off.../excel.borders

    Il me semble étrange d'utiliser Style sans indice.
    Ca laisserait supposé qu'il n'y a qu'un seul style dans le classeur et que tu ais supprimé tous les styles par défaut.
    Il est plus probable qu'un indice soit nécessaire pour indiquer quel style tu souhaites modifier.
    https://docs.microsoft.com/fr-FR/off...i/excel.styles
    https://docs.microsoft.com/fr-FR/off...pi/excel.style

    Autre détail qui va sans dire (mais qui va mieux en le disant), pour qu'une modification de style est une conséquence, il faut que dans la feuille, ce style soit appliqués aux cellules souhaitées.
    Cela dit, il n'est pas nécessaire de passer par un style pour mettre une bordure à une cellule.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 942
    Points
    55 942
    Billets dans le blog
    131
    Par défaut
    Salut.

    1. C'est du VB.NET, je suppose, à ne pas confondre avec VBA ( J'ai déplacé sur le bon forum)

    2. Un SUB qui n'a pas de nom et qui ne génère pas d'erreur, ça m'étonne

    3. Une bordure ne se définit pas par Interior mais par borders (par exemple, activecell.Borders().LineStyle=XlLineStyle.xlContinuous définit une bordure pour la cellule courante).

    Il est évidemment préférable de maîtriser le modèle Objet d'Excel pour le piloter par VB.NET.

    Bon courage
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Particulier
    Inscrit en
    Mai 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Particulier

    Informations forums :
    Inscription : Mai 2018
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Visual studio 2015 - gérérer bordures autour dr cellules Excel
    Bonjour,

    Merci d'avoir déplacé mon message sur le bon forum

    1 - j'ai omis le nom de la Sub pour simplifier le message

    2 - [.cells(1, 1).Borders().Weight = xlThin]
    Visual studio 2015 ne reconnait pas l' argument 'xlThin dans le code ci-dessus

    2 - [.cells(1, 1).Borders().LineStyle = XlLineStyle.xlContinuous]
    Visual studio 2015 génère correctement les bordures avec le code ci-dessus


    Merci de votre aide, problème résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Visual Studio 2015] Générer un projet pour Mac
    Par djedje-08 dans le forum Visual Studio
    Réponses: 3
    Dernier message: 10/01/2017, 13h48
  2. Microsoft dévoile la préversion de Visual Studio 2015
    Par Hinault Romaric dans le forum Visual Studio
    Réponses: 135
    Dernier message: 12/04/2016, 18h32
  3. [Débutant] [Visual Studio 2015] Build
    Par Max29200 dans le forum Visual Studio
    Réponses: 0
    Dernier message: 15/12/2014, 09h46
  4. [HTML] Afficher les bordures autour des cellules
    Par michaeljeru dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 06/06/2008, 15h15
  5. Visual Studio 05 : Générer fichier *.tlb
    Par Miles Raymond dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/03/2007, 13h44

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