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 :

Effacer cellule vide dans excel depuis vb.net


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Effacer cellule vide dans excel depuis vb.net
    Bonjour,
    je cherche a supprimer toutes les cellules vides dans toutes les feuilles d'un classeur excel depuis une appli vb.net.
    Au préalable , j'ouvre un classeur existant que je rempli avec les données d'un datagridview.
    le datagridview comporte 3 colonnes - dates - val 1 - val 2
    Je créé, pour chaque mois des dates trouvées dans le datagridview, une feuille dans le classeur avec comme nom le mois et l'année des données.
    Jusque là tout va bien sauf que mes données dans les feuilles sont avec des blancs. Ce qui est normal vu que je fais ( ...ligne + 1, c + 1..) .
    Alors j'aimerai savoir comment je peux faire soit pour éviter les blancs soit pour les éffacer.
    j'ai vraiment cherché sur google , hein !!

    merci d'avance.

    mon code ci-dessous :


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
     Private Sub OuvrirFichier()
     
         'Déclaration des variables
            Dim appExcel As Excel.Application 'Application Excel
            Dim wbExcel As Excel.Workbook 'Classeur Excel
            Dim wsExcel As Excel.Worksheet 'Feuille Excel
     
            'Ouverture de l'application
            appExcel = CreateObject("Excel.Application")
            'Ouverture d'un fichier Excel
            wbExcel = appExcel.Workbooks.Open("C:\TEMP\toto.xls")
            'wsExcel correspond à la première feuille du fichier
     
     
            Dim c, ligne, i, s, r As Integer
            Dim strSheetName As String
            Dim blnFound As Boolean
            appExcel.Visible = True
            Dim oRng As Excel.Range
            Dim firstCell As Excel.Range
            Try
                For ligne = 0 To DataGridView1.RowCount - 1
                    For c = 0 To DataGridView1.ColumnCount - 1
                        Dim monmois = Mid(DataGridView1(0, ligne).Value, 4, 2)
                        Dim monann = Mid(DataGridView1(0, ligne).Value, 7, 5)
                        Dim madate = monmois & monann
     
                        strSheetName = madate
                        i = wbExcel.Sheets.Count
                        For j = 1 To i
                            If wbExcel.Worksheets(j).Name = strSheetName Then
                                wbExcel.Sheets(strSheetName).select()
                                blnFound = True
                                Exit For
                            Else
                                blnFound = False
                            End If
                        Next
                        If blnFound = False Then
                            wsExcel = wbExcel.Worksheets.Add()
                            wsExcel.Name = strSheetName
                            oRng = wsExcel.Range("A1", "C1")
     
                            oRng(ligne + 1, c + 1) = DataGridView1.Rows(ligne).Cells(c).Value
     
                        Else
                            wsExcel = wbExcel.ActiveSheet
                            oRng = wsExcel.Range("A1", "C1")
                            oRng(ligne + 1, c + 1) = DataGridView1.Rows(ligne).Cells(c).Value
     
                        End If
                    Next c
                Next ligne
                For s = 0 To wbExcel.Sheets.Count - 1
     
                    wsExcel = wbExcel.ActiveSheet
                    For r = 0 To wsExcel.Rows.Count - 1
                        Dim maval As String
                        'firstCell = wsExcel.Range("A1", "C1")
                        maval = wsExcel.Cells(r, 0).value
                        If maval = "" Then
                            wsExcel.Cells(r, 0).Delete()
                        End If
                        'Dim lastCell As Excel.Range
                        'lastCell = firstCell.End(Excel.XlDirection.xlDown)
     
                        'Dim entireColumn As Excel.Range
                        'entireColumn = wsExcel.Range(firstCell, lastCell)
     
                        'If firstCell.Value Is Nothing Then
                        'entireColumn.EntireRow.Delete()
                        'End If
     
                        ' For r = 0 To wsExcel.Rows.Count - 1
     
                        'If oRng.Value Is Nothing Then
                        'oRng.Delete()
                        'End If
                    Next r
                Next s
     
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
        End Sub

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    oups j'ai oublié de supprimer la partie de code qui ne fonctionne pas
    après next ligne

Discussions similaires

  1. Import excel d'une cellule "formule" dans une application VB.NET
    Par altahir007 dans le forum Développement Windows
    Réponses: 2
    Dernier message: 26/06/2013, 13h20
  2. Cellule vide dans base Excel
    Par jojo86 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/06/2013, 07h41
  3. [Débutant] [VB.NET][VS2008]Copier/Coller dans Excel depuis VB.Net
    Par magicbisous-nours dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/04/2013, 15h18
  4. Couper/Coller Cellule/Colonne Excel depuis VB.NET
    Par Florian54 dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/03/2011, 20h47
  5. Réponses: 6
    Dernier message: 11/03/2009, 12h43

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