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 :

[E-07] copier la ligne si au moins une cellule est vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 504
    Par défaut [E-07] copier la ligne si au moins une cellule est vide
    Bonjour le forum
    Comment avoir dans une autre feuille toute les lignes qui ont au moin une cellule est null "vide"
    Nb:les lignes souhaiter snt en rouge
    cordialement

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour

    Ta colonne AD-Q est vide doit elle etre prise en compte ??
    Sélectionner : A2:K20
    Mise en forme conditionnelle :
    La Formule Est : =Nb.Si($A2:$K2;"")>0
    Choisir le format

    Pour ne pas tenir compte de la colonne AD-Q mettre >1

  3. #3
    Membre éclairé Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 504
    Par défaut
    salut wilfried_42 et le forum
    oui la collone AD-Q est pris en considiration j'ai oublier de metre des données dedans ta condition de MFC marche bien mais je veut bien si c'est possible extraire ces données dans une autre feuille
    cordialement
    a bientot

  4. #4
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    A mon avis il va falloir passer par VBA, ci dessous une possibilité en comptant le nombre de valeurs de chaque ligne via la fonction NBVAL d'Excel.
    Si le nombre de valeurs est supérieur à 0 et inférieur à 11, on copie la ligne (de la colonne 1 à 11) sur la première ligne vide de la feuille 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim i As Integer, plage As Range, NbrVal As Byte
     
    With Sheets(1)
        For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
            Set plage = .Range(.Cells(i, 1), .Cells(i, 11))
            NbrVal = Application.WorksheetFunction.CountA(plage)
            If NbrVal > 0 And NbrVal < 11 Then
                plage.Copy Sheets(2).Cells(Rows.Count, 1).End(xlUp)(2)
            End If
        Next
    End With
    End Sub

  5. #5
    Membre éclairé Avatar de jawed
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2004
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 504
    Par défaut
    Bonjour fring et le forum
    Merci pour votre transfert et votre code mais il y a un probleme ce dernier renvoie aussi dans la feuille 2 les lignes complete et moi je souhaite que les lignes manquante de donnée
    cordialement
    a bientot

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    J'ai oublié de préciser que ce code fonctionne sauf si les cellules contiennent une formule auquel cas elle ne sont pas considérées comme vide. C'est le cas ?

    J'avais testé le code sur l'exemple que tu avais fourni et j'obtenais bien le résultat souhaité.
    .

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Bonjour.

    Fonction testée et ça marche pour tout type de plage (même les plages à plusieurs zones):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function ContientVide(ByRef Plage As Range) As Boolean
        Dim ligne As Variant, cellule As Variant
        ContientVide = False
        For Each ligne In Plage.Rows
            For Each cellule In ligne.Cells
                If cellule.Value = "" Then
                    ContientVide = True
                    Exit Function
                End If
            Next
        Next
    End Function
    Bref, c'est une fonction 100% fiable.
    Ca marchera donc notament pour tes lignes.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/09/2013, 16h43
  2. [XL-2007] savoir si une ligne contient au moins une cellule fusionnée
    Par toniob44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/05/2012, 17h42
  3. [XL-2003] Copier des lignes de couleur d'une feuille vers une autre
    Par grimgrim dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/02/2012, 09h45
  4. [XL-2007] Suppression de ligne si une cellule est vide
    Par cynoq dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/12/2011, 17h23
  5. Copier ligne si une cellule est modifiée
    Par Billyboule dans le forum Excel
    Réponses: 7
    Dernier message: 05/12/2007, 14h25

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