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 :

[vb.net] Copie / colle d'une ligne excel sans le contenu


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Par défaut [vb.net] Copie / colle d'une ligne excel sans le contenu
    Bonjour,

    Je voulais savoir si il existait une méthode simple pour copier la structure et la présentation d'une ligne d'un fichier excel sans copier le contenu de cette ligne en vb.net.

    Mon objectif étant de créer une zone de résultat ayant la même mise en forme que les lignes de données.

    Sinon je suis preneur de tout conseil pour des méthodes de représentation graphiques pour les résultats dans un fichier excel depuis vb.net.

    Actuellement j'utilise cette méthodes :

    - Lecture d'une ligne qui à la même mise en forme que la ligne à représenté
    - Copie de cette ligne sélectionner
    - Colle de cette ligne
    - ajustement de mise en forme (fusion de certaines ligne)

    je continue mes recherches

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 483
    Par défaut
    bonjour,

    ne trouvant rien j'ai utilisé ce code :

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    'pour créer les zones de résultat de valeur à la journée
        'titreResult : chaine de caratère indiquant le non de la ligne de résultat
        'feuilleCourante : numéro de la feuilleCourante en cours de traitement
        Private Sub CreerZoneResJournee(ByVal titreResult As String, ByVal numFeuilleCourante As Integer)
     
            'on utilise deja le formatage d'une ligne par jour existente
            Dim feuilleModel As Excel.Worksheet = egWB.Worksheets("general")
            Dim ligneFeuilleModel As Integer
            Dim modelAffichResultJour As Excel.Range
     
            Dim feuilleCourante As Excel.Worksheet = egWB.Worksheets(numFeuilleCourante)
            Dim ligneFeuilleCourante As Integer
            Dim colFeuilleCourante As Integer
            Dim rangeFeuilleCourante As Excel.Range
     
            rangeFeuilleCourante = feuilleCourante.UsedRange
            ligneFeuilleCourante = rangeFeuilleCourante.Rows.Count
     
            'on prend la première ligne de la feuille générale
            ligneFeuilleModel = nbLigneEntete + 1
     
            modelAffichResultJour = feuilleModel.Rows(ligneFeuilleModel)
            modelAffichResultJour.Copy()
     
            feuilleCourante.Activate()
            feuilleCourante.Paste(feuilleCourante.Rows(ligneFeuilleCourante + 1))
     
            'je récupère la zone utile de la feuille courante après le collage du modele de la zone de résultat
            rangeFeuilleCourante = feuilleCourante.UsedRange
            ligneFeuilleCourante = rangeFeuilleCourante.Rows.Count
            colFeuilleCourante = rangeFeuilleCourante.Columns.Count
     
            'je parcours chaque case pour supprimer la valeur
            'je parcours chaque case pour supprimer les couleurs de fond
            For i = 1 To colFeuilleCourante
                feuilleCourante.Cells(ligneFeuilleCourante, i) = ""
                feuilleCourante.Cells(ligneFeuilleCourante, i).interior.ColorIndex = 2
            Next
     
            'je fusionne les 2 premières colonnes
            feuilleCourante.Range(feuilleCourante.Cells(ligneFeuilleCourante, 1), feuilleCourante.Cells(ligneFeuilleCourante, 2)).Merge()
            feuilleCourante.Cells(ligneFeuilleCourante, 1) = titreResult
        End Sub
    Je ne sais pas si il existe une meilleur méthode.

    Je laisse le post en non resolu au cas ou qqn aurait des remarque ou une meilleur solution.

    cordialement

Discussions similaires

  1. Selection d'une ligne Excel
    Par KOFJCH dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2006, 09h19
  2. [.NET]récupérer indice d'une ligne
    Par fab3131 dans le forum MFC
    Réponses: 1
    Dernier message: 06/06/2006, 17h19
  3. [VB.NET] les champs d'une ligne sélectionnée d'un DataGrid
    Par dialydany dans le forum Windows Forms
    Réponses: 6
    Dernier message: 17/05/2006, 18h24
  4. [VB.net] Détection suppression d'une ligne dans Datagrid
    Par Cereal123 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2006, 14h08
  5. [VB.NET] problème pour piloter une appli. excel 2003
    Par Pynuch dans le forum Windows Forms
    Réponses: 13
    Dernier message: 16/11/2005, 13h02

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