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 6 et antérieur Discussion :

Erreur mise en couleur d'une colonne excel depuis VB6


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 105
    Points : 78
    Points
    78
    Par défaut Erreur mise en couleur d'une colonne excel depuis VB6
    Bonjour.

    Je génère depuis mon programme en VB6 plusieurs fichiers excel. Dans certains cas, je souhaite mettre une couleur dans une cellule. Mon traitement marche bien, mais si je le relance tout de suite, ca plante des le 1er fichier.

    Voici mon traitement :

    Au début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Set AppExcel = CreateObject("Excel.Application")
       AppExcel.Visible = False
       AppExcel.AlertBeforeOverwriting = False
       AppExcel.DisplayAlerts = False
    Pour chaque fichier excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Set FichierExcel = AppExcel.Workbooks.Add
    Puis mon traitement (ca plante sur la ligne en gras (variable objet ou bloc non définit) lors du 2ème passage) :
    AppExcel.Worksheets(1).Range(Col & Lig).Select
    With Selection.Interior
    .ColorIndex = 3
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    End With

    FichierExcel.Close True, Chemin & "\" & NomFichier
    Set FichierExcel = Nothing
    A la fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       AppExcel.Quit
       Set AppExcel = Nothing

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    En fait, je pense que c'est la ligne précédente qui pose pb.

    AppExcel.Worksheets(1).Range(Col & Lig).Select
    Dans Excel, tu dois d'abord sélectionner la feuille, puis la cellule, séparément.

    Tu dis...

    A+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 105
    Points : 78
    Points
    78
    Par défaut
    Comme cela ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        AppExcel.Worksheets(1).Select
     
        AppExcel.Range(Col & Lig).Select
     
        AppExcel.Worksheets(1).Range(Col & Lig).Value = Nom
     
       With Selection.Interior
          .ColorIndex = 6
          .Pattern = xlSolid
          .PatternColorIndex = xlAutomatic
       End With

    [Edité par ridan] Ajout des balises [CODE][/CODE]. Pensez-y à l'avenir. Merci

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 105
    Points : 78
    Points
    78
    Par défaut
    Marche pas mieux !!!

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        AppExcel.Worksheets(1).Select 
        AppExcel.Worksheets(1).Range(Col & Lig).Value = Nom 
        AppExcel.Range(Col & Lig).Select 
        With Selection.Interior 
           .ColorIndex = 6 
           .Pattern = xlSolid 
           .PatternColorIndex = xlAutomatic 
        End With

    Si Col et Lig sont des N° de ligne et de colonne, utilise Cells(Lig,Col).value

    Tu dis...

    A+

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 105
    Points : 78
    Points
    78
    Par défaut
    Toujours pas ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        AppExcel.Worksheets(1).Select
        AppExcel.Cells(Lig_Excel, Col_Excel + 1).Select
        AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel + 1).Value = Nom
     
        AppExcel.Worksheets(1).Select
        AppExcel.Cells(Lig_Excel, Col_Excel + 1).Select
        With Selection.Interior
            .ColorIndex = 6
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
        End With

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je ne vois pas. Si tu étais sur vba, je sais que parfois il faut utiliser Set ... = ... et with... mais là... ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With AppExcel.Selection.Interior
    peut-être
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set MaCell = AppExcel.Selection.interior 
    With MaCell 
        .colorIndex = 6 
        'etc...

    A tout hasard

    A+

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 105
    Points : 78
    Points
    78
    Par défaut
    Comme cela ca a l'air de marcher :

    AppExcel.Worksheets(1).Select
    AppExcel.Cells(Lig_Excel, Col_Excel + 1).Select
    AppExcel.Worksheets(1).Cells(Lig_Excel, Col_Excel + 1).Value = Nom

    AppExcel.Worksheets(1).Select
    AppExcel.Cells(Lig_Excel, Col_Excel + 1).Select
    With AppExcel.Selection.Interior
    .ColorIndex = 3
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    End With

    Merci beaucoup et bonne continuation.

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Comme je dis toujours, comme diraient les Shadok :
    "En essayant continuellement, on finit par réussir. Donc plus ça rate, plus t'as de chances..."


    A+

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

Discussions similaires

  1. [XL-2010] Récupérer la couleur d'une case excel, pour l'appliquer lors d'une mise en forme
    Par interfector1st dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 07/06/2015, 00h24
  2. Lancer une Macro Excel depuis VB6
    Par pilote301152 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/12/2011, 17h43
  3. nombre de cellule dans une colonne excel
    Par mahboub dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2006, 23h00
  4. [Debutant] vb.net couleur d'une colonne flexgrid
    Par bestsimo2 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/06/2005, 18h27
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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