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 :

Nettoyer un bordereau


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut Nettoyer un bordereau
    Bonjour,
    J'ai un bordereau avec 5200 lignes dont certaines sont inutiles. Est-il possible de programmer pour dire:
    ligne 1 (si A1="" et B1="" et C1="") alors la ligne est supprimés
    ligne 2 (si A2="" et B2="" et C2="") alors la ligne est supprimés
    ....
    ligne 5200 (si A5200="" et B5200="" et C5200="") alors la ligne est supprimés

    Il faut qu'il n'y ai aucune données dans A,B et C pour effacer la ligne

    La magie de la programmation peut-elle répondre à ma demande ?
    Merci d'avance,
    Maxime

  2. #2
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 58
    Points : 24
    Points
    24
    Par défaut
    Bonjour, la réponse est indubitablement ui

  3. #3
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par 1357VBA Voir le message
    Bonjour, la réponse est indubitablement ui
    Nooon, pas possible ! Je demande à voir en VBA si possible

  4. #4
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    bonsoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub EntireRow()
     
         For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
                 If Cells(i, 1) = "" And Cells(i, 2) = "" And Cells(i, 3) = "" Then
                 Cells(i, 1).EntireRow.Delete
                  End If
           Next i
        End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mle007 Voir le message
    J'ai un bordereau avec 5200 lignes dont certaines sont inutiles. Est-il possible de programmer pour dire:
    ligne 1 (si A1="" et B1="" et C1="") alors la ligne est supprimés
    ligne 2 (si A2="" et B2="" et C2="") alors la ligne est supprimés
    Tu fais un tri avec les colonnes A, B et C comme critère.
    Toutes les lignes qui ont ces colonnes vides seront regroupées, tu pourras les supprimer en 3 clics.
    Pas besoin de faire une macro pour ça.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Super BENNASR, c'est magique
    Je te souhaite un bon weekend et grand merci à toi !
    Max

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    oui magique!
    souhaitons que tu n'ai pas des milliers de lignes a visiter

    un exemple regarde le msgbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
        With ActiveSheet.Range("$A$1:$C$10")
            .AutoFilter Field:=1, Criteria1:="="
            .AutoFilter Field:=2, Criteria1:="="
            .AutoFilter Field:=3, Criteria1:="="
            Set plage_a_suppr = .SpecialCells(xlVisible)
            .AutoFilter
        End With
    MsgBox plage_a_suppr.Address
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu fais un tri avec les colonnes A, B et C comme critère.
    Toutes les lignes qui ont ces colonnes vides seront regroupées, tu pourras les supprimer en 3 clics.
    Pas besoin de faire une macro pour ça.
    Effectivement, j'ai de ne pas y avoir pensé ! Toutefois, c'est moins magique

  9. #9
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    Bonjour
    oui magique!
    souhaitons que tu n'ai pas des milliers de lignes a visiter ...
    [/CODE]
    Bonjour Patrick,
    Merci pour ton message, je teste cela de suite.
    Max

  10. #10
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Patrick
    Tu es sûr de ton code ?
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Rebonjour à tous,
    Question stupide mais si je souhaite supprimer les lignes avec le texte "Total Fluides", "Total eau froide" ... bref, l'ensemble des lignes comprenant "Total" quelque chose, dans la 1er,2ème et 3ème colonne, c'est plus compliqué ? J'ai essayé de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 1) = "" And Cells(i, 2) = "" And Cells(i, 3) = " " Then
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(i, 1) = "" And Cells(i, 2) = "" And Cells(i, 3) = "Total* " Then
    mais cela ne fonctionne malheureusement pas !
    Je suis donc encore à la recherche d'un magicien

    Exemple:
    Nom : Exemples.JPG
Affichages : 188
Taille : 89,1 Ko

  12. #12
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 914
    Points : 5 121
    Points
    5 121
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub EntireRow()
         For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
                 If Cells(i, 1) Like "Total*" And Cells(i, 2) Like "Total*" And Cells(i, 3) Like "Total*" Then
                 Cells(i, 1).EntireRow.Delete
                  End If
           Next i
        End Sub
    --------------------------------------------------------------*****----------------------------------------------------------------------------
    Bonne Continuation & Plein Succès
    Notre seul pouvoir véritable consiste à aider autrui avec modestie
    ______________________________________________________
    Pour dire merci, cliquer sur et quand la discussion est résolue, penser à cliquer sur le bouton

  13. #13
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par BENNASR Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub EntireRow()
         For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
                 If Cells(i, 1) Like "Total*" And Cells(i, 2) Like "Total*" And Cells(i, 3) Like "Total*" Then
                 Cells(i, 1).EntireRow.Delete
                  End If
           Next i
        End Sub
    Merciiii Bennasr
    Malheureusement, cela ne fonctionne pas. Peut-être à cause d'Excel 2016 ???

  14. #14
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    Débutant ou non, je crois que (même si hyper débutant) tu devrais corriger toi-même la ligne des conditions !
    Un effort, s'il te plait ...
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  15. #15
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour
    Débutant ou non, je crois que (même si hyper débutant) tu devrais corriger toi-même la ligne des conditions !
    Un effort, s'il te plait ...
    Tu as raison Unparia mais je viens encore de chercher pendant une heure sans voir l’erreur. C’est frustrant

  16. #16
    Membre à l'essai
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 58
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par mle007 Voir le message
    Tu as raison Unparia mais je viens encore de chercher pendant une heure sans voir l’erreur. C’est frustrant
    comme il y a le mot technique accolé au mot directeur, nul doute que ça s'arrange...

    sinon changer d'phtalmo


  17. #17
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mle007 Voir le message
    Tu as raison Unparia mais je viens encore de chercher pendant une heure sans voir l’erreur. C’est frustrant
    Pendant 1 HEURE sur 3 lignes de codes ????
    Tu ne serais pas en train de nous prendre franchement pour des idiots ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Responsable Technique
    Inscrit en
    Février 2015
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable Technique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 29
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Pendant 1 HEURE sur 3 lignes de codes ????
    Tu ne serais pas en train de nous prendre franchement pour des idiots ?
    Certainement pas pour des idiots mais certaines personnes avec un humour un peu . En fait, il n'y a pas d'erreur dans le code et je suis parti sur l'idée qu'il y avait une différence avec Excel 2013 du bureau et 2017 à la maison. Que cela n'en déplaise, on passe vite 1h à regarder sur le net des tutos. J'aurais même pu passer des jours car il n'y a pas d'erreur dans le code ... mais simplement récupéré un bordereau avec certaines cellules protégées. La solution était : menu révision-déprotéger la feuille.
    Encore merci BENNASR

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

Discussions similaires

  1. comment nettoyer un écran plasma?
    Par vampyer972 dans le forum Périphériques
    Réponses: 8
    Dernier message: 25/09/2007, 14h42
  2. "Nettoyer" Un PROJET VBA ??
    Par samlepiratepaddy dans le forum Access
    Réponses: 4
    Dernier message: 30/10/2005, 17h58
  3. Tester et nettoyer les favoris
    Par Furius dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 12/09/2005, 20h50
  4. Un antivirus qui va nettoyer la partition win ?
    Par Michaël dans le forum Sécurité
    Réponses: 9
    Dernier message: 28/06/2005, 11h21
  5. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24

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