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 :

Alterner couleur de lignes avec interop


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut Alterner couleur de lignes avec interop
    Bonjour tout le monde,

    J'ai un petit souci avec un bout de code et je ne comprends pas d'où vient l'erreur

    Le but de la ligne est dans le titre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim format As Excel.FormatCondition = mafeuille.Rows.FormatConditions.Add( _
                Excel.XlFormatConditionType.xlExpression, Excel.XlFormatConditionOperator.xlEqual, "=mod(row(),2) = 1")
            format.Interior.Color = ColorTranslator.ToOle(Color.WhiteSmoke)
    Le message d'erreur qui m'arrive est :



    Alors qu'il n'y a q'un paramètre obligatoire, tout le reste est optionnel

    Si quelqu'un pouvait me dire d'où ça vient...

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Et de cette façon ? A adapter bien sûr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'si le classeur est en Français, sinon, =MOD(ROW(),2) et =MOD(ROW()+1,2)
    'une ligne en jaune et une ligne en rouge sur la zone utilisée de la feuille
    Dim Format1 As Excel.FormatCondition = mafeuille.UsedRange.FormatConditions.Add(2, , "=MOD(LIGNE();2)")
    Dim Format2 As Excel.FormatCondition = mafeuille.UsedRange.FormatConditions.Add(2, , "=MOD(LIGNE()+1;2)")
     
    Format1.Interior.Color = 65535
    Format2.Interior.Color = 255
    Hervé.

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Merci Theze de te pencher sur mon cas

    Bon, j'ai essayé ton code et je plante dés la 1ère ligne avec la même erreur :



    j'ai essayé ça aussi mais sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim selection = mafeuille.Range("A1", "F" & numLigne)
     
            selection.FormatConditions.AddColorScale(ColorScaleType:=2)
            selection.ColorScaleCriteria(1).FormatColor.Color = ColorTranslator.ToOle(Color.White)
            selection.ColorScaleCriteria(2).FormatColor.Color = ColorTranslator.ToOle(Color.WhiteSmoke)

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Ce code fonctionne bien chez moi, adapte le nom du classeur avec son chemin et le nom de la feuille puis teste :
    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
    24
    25
    26
    27
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Dim Excel As Object
            Dim Classeur As Object
            Dim Feuille As Object
            Dim Plage As Object
            Dim Format1 As Object
            Dim Format2 As Object
     
            Excel = CreateObject("Excel.Application")
     
            Excel.visible = True
            Classeur = Excel.workbooks.open("D:\MonClasseur.xls")
            Feuille = Classeur.worksheets("Feuil1")
            Plage = Feuille.range("A1:F22")
     
            'si le classeur est en Français, sinon, =MOD(ROW(),2) et =MOD(ROW()+1,2)
            'une ligne en jaune et une ligne en rouge sur la zone utilisée de la feuille
            Format1 = Feuille.UsedRange.FormatConditions.Add(2, , "=MOD(LIGNE();2)")
            Format2 = Feuille.UsedRange.FormatConditions.Add(2, , "=MOD(LIGNE()+1;2)")
     
            'défini les couleurs de fond
            Format1.Interior.Color = 65535
            Format2.Interior.Color = 255
     
        End Sub
    Hervé.

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2011
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 453
    Par défaut
    Je me retrouve avec la même erreur que lorsque je faisais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim format As Excel.FormatCondition = mafeuille.Rows.FormatConditions.Add( _
                Excel.XlFormatConditionType.xlExpression, Excel.XlFormatConditionOperator.xlEqual, "=mod(row(),2) = 1")
            format.Interior.Color = ColorTranslator.ToOle(Color.WhiteSmoke)
    à savoir :

    Le nombre de paramètres spécifié ne correspond pas au nombre attendu
    Je ne comprends vraiment pas cette erreur, étant donné que visual ne me souligne pas ces lignes comme des erreurs et qu'il n'y a pas d'erreurs à la compilation. C'est vraiment lorsqu'il passe sur ces lignes qu'il plante, j'ai essayé avec des missing, des "virgules vides", pour remplir tout les paramètres attendus, mais rien n'y fait, il me dit toujours que le nombre de paramètres n'est pas le bon.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Mais as-tu essayé le code que je t'ai posté et si oui, sur quelle ligne ça plante ?

    Hervé.

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

Discussions similaires

  1. alterner couleur de bloque avec code smarty
    Par ldiaz dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 11/11/2012, 12h47
  2. Copier puis insérer une ligne avec interop
    Par Shadam dans le forum VB.NET
    Réponses: 1
    Dernier message: 23/09/2011, 14h42
  3. Alterner couleurs des lignes
    Par samspitz dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2009, 21h26
  4. Alterner couleur une ligne sur deux
    Par NiC1305 dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2008, 12h23
  5. Comment changer les couleurs des lignes avec displaytag
    Par rlnd23 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/10/2006, 13h52

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