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

Macros et VBA Excel Discussion :

[VBA-E] supprimer les lignes possédant un champ vide


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut [VBA-E] supprimer les lignes possédant un champ vide
    Bonjour,

    je n'arrive pas à supprimer des lignes possédant un champ vide.
    Mon code importe des colonnes d'un autre classeur et renseigne certaines colonnes à partir d'une boucle. Mon problème est que certaines ligne importées sont vides et je voudrais les supprimer.(

    mais mon code ne fait rien

    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
    Set FL2 = CL2.Worksheets("Recap-Fides")
    
        i = 34
        j = 8
            
        Do While nb_lignes_totales <> j - 8
            .
            .              
            .
    
                                               
            'supprime les lignes vides
            Dim iLigne As Integer
            iLigne = j
            FL2.Range("A" & j).Select
            If FL2.Range("A" & j).Value = "" Then
            FL2.Rows(iLigne).Delete
            End If
            
            i = i + 1
            j = j + 1
        Loop
    Merci d'avance pour votre aide.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 41
    Points : 11
    Points
    11
    Par défaut [VBA-E] supprimer les lignes possédant un champ vide
    essayer ca

    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
    Sub sup_ligne_vid_2()
     
    Dim i As Integer
     
    Application.ScreenUpdating = False
     
    'boucle sur les lignes 100 à 1
    For i = 100 To 3 Step -1
        'supprimer ligne vide
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 _
        Then Rows(i).Delete
    Next i
     
    Application.ScreenUpdating = True
    End Sub

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 175
    Points : 91
    Points
    91
    Par défaut
    merci pour ton code sebi78 mais il ne fonctionne pas avec le mien.
    En fait c'est le fichier qui me sert à l'importation qui possède des lignes vides. Celui sur lequel je travail a quelques colonnes importé (du fichier contenant les lignes vides) et le reste est calculé à partir de ces colonnes. Mais les calculs faisant référence à des cellules vide me renvois le résultat 0,000

    j'ai essayé de modifier mon code dans ma boucle pour faire en sorte qu'il ne fasse les calculs que si la cellule est différente de vide; mais sans résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            FL2.Range("A" & j).Select
            If FL2.Range("A" & j).Value <> "" Then
                FL2.Range("D" & j).Select
                If FL2.Range("H" & j).Value = "Condensateur" Then
                FL2.Range("D" & j).Value = FL2.Range("C" & j) * FL2.Range("G4")
                Else
                FL2.Range("D" & j) = FL2.Range("C" & j)
                End If
            End If
    Est-il possible d'inclure la suppression au sein de la boucle?
    la boucle renseigne ligne après ligne les différents champs

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    J'ai rencontré un problème similaire par importation de données issues d'un fichier .csv
    J'ai codé .value = " " (un espace entre les guillemets) pour que ça marche.
    A tester

  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 546
    Points
    15 546
    Par défaut
    Si tu supprimes les lignes vide du fichier dont tu copies les données, les formules se mettront à jour (tu n'es pas obligé de l'enregistrer ensuite)
    Est-ce que ça pourrait régler ton pb ?
    A+

Discussions similaires

  1. Supprimer les lignes dont la valeur du deuxième champ est égale à 13
    Par mond14 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 21/05/2013, 13h26
  2. [XL-2010] VBA Supprimer les lignes d'un tableau en dessous de lignes d'en tete
    Par vyzouille dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/02/2013, 09h10
  3. VBA Word - Supprimer les styles inutilisés
    Par wouebmaster dans le forum VBA Word
    Réponses: 3
    Dernier message: 05/01/2012, 03h02
  4. [XL-2007] Supprimer les lignes non utilisées VBA
    Par Gaia77 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/11/2011, 14h22
  5. [VBA-E] Parcourir les lignes filtrées après un filtre auto
    Par leptitdave dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2005, 13h14

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