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 :

Intercepter erreur sur absence cellule vide [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut Intercepter erreur sur absence cellule vide
    bon après midi,
    j'ai réalisé un bout de code, et à l'interieur j'ai cette ligne qui permet de supprimer toutes les lignes dont la première cellule est vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ....
            .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    ....
    ceci fonctionne seulement s'il y a au moins une cellule vide dans la première colonne de la plage de donnée.

    sinon, erreur!

    s'il y a moyen de détourner cet erreur
    ou carrément faire autrement (sans boucle)
    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 1 To Range("A65536").End(xlUp).Row
        If IsEmpty(Cells(i, 1).Value) Then
            .Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
            Exit For
        End If
    Next
    Teste pour moi.

    A+

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 61
    Par défaut
    Bonjour Mercatog, Dead

    une autre approche ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim x As Range
    Set x = Range("A1:A" & Range("A65536").End(xlUp).Row)
    If Application.CountBlank(x) > 0 Then x.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    bonne soirée
    @+

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour Pierrot,

    J'aime beaucoup ta solution ! Je ne connaissais pas le .CountBlank.

    Bonne soirée à vous

    EDIT : mercatog, essaie la solution de Pierrot, elle me paraît plus optimisée. Teste et choisis ce qui te convient Tu n'y verras sûrement aucune différence vu que je sors rapidement de la boucle si je trouve un "blanc" (pense aussi à désactiver le ScreenUpdating), mais j'ai ma solution "chouchou" et ce n'est pas la mienne

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    impec et merci

    merci aussi pour sortir de la boucle rapidement

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Aussi impec Pierrot

    j'ai opté pour ta proposition
    j'ai certaines phobies de boucles apparentes!

    merci aussi Dead

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    j'ai certaines phobies de boucles apparentes!
    T'es pas sorti de l'auberge en disant ça Tellement de choses sont basées sur ces boucles en programmation, peu importe le langage !

    Et si par apparentes, tu entends la guirlande de noël dans ta fenêtre Excel, il te suffit de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.ScreenUpdating = False
    au début de ton code et de le remettre à True à la fin.

    Bref, je supporte encore et toujours la solution de Pierrot (j'me la note quelque part ) mais je ne peux que te conseiller d'aller échanger un mot ou deux avec ces boucles histoire de vaincre tes phobies : elles peuvent s'avérer être de très bonnes amies

    Allez, bonne soirée à vous 2 !

  8. #8
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour le fil le forum une autre methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub test1()
    [A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End Sub

  9. #9
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Mes phobies viennent de la mal-compréhension, certes les boucles sont nécessaires et utiles! Pour moi en dernier recours (je suis déjà chauve; et les boucles...!!)!! et pas à cause des "guirlandes de noël"!!

    cordialement

    merci Laetitia

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

Discussions similaires

  1. [POI] J'obtiens "0" sur les cellules vides
    Par ouechTonton dans le forum Documents
    Réponses: 17
    Dernier message: 27/11/2013, 19h51
  2. [VBA] Erreur Sur Recopie De Cellule
    Par CIBOOX dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/01/2007, 10h48
  3. [VBA-E] cellules vide sur une ligne
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 12/06/2006, 21h20
  4. Interception des erreurs sur un dbnavigator
    Par Jeepy dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/05/2005, 16h59
  5. [CR10] Pquoi absence du message d'erreur sur les Nulls ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 30/11/2004, 15h30

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