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 :

Si colonne vide alors ligne suivante


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Par défaut Si colonne vide alors ligne suivante
    Salut tout le monde,
    je suis entrain de faire des test de macro, mais je suis (encore) face à un probleme.
    Dans une macro de mise en forme, il y a une automatisation de conversion de données. Or le problème est qu'il y a pas toujours des données dans ces colonnes; alors excel "débogge"

    Voila ma macro


    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
    Sub Exemple ()
    Range("BL1:BL" & dlg).TextToColumns Destination:=Range("BL1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
    Range("BQ1:BQ" & dlg).TextToColumns Destination:=Range("BQ1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
    Range("BV1:BV" & dlg).TextToColumns Destination:=Range("BV1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
    Range("CA1:CA" & dlg).TextToColumns Destination:=Range("CA1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
    Range("CF1:CF" & dlg).TextToColumns Destination:=Range("CF1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:="#"
     
     
    'Range("H:H,W:W,Y:Y,AA:AB,AD:AD,AF:AG,AI:AI,AK:AL,AN:AN,AP:AQ,AS:AS,AU:AV,AX:AX,AZ:BA,BC:BC,BE:BF,BH:BH,BJ:BK,BM:BM,BO:BP,BR:BR,BT:BU,BW:BW,BY:BZ,CB:CB,CD:CE,CG:CG,CI:CJ,CL:CL").Delete Shift:=xlToLeft
     
    End sub

    Je cherche une solution pour faire en sorte que, si la colonne sélectionnée est vide, alors la macto passe à la suivante.
    par exemple: la colonne BV est vide, au lieu de bloquer, la macro voit que la colonne est vide, elle passe à la conversion de CA.

    C'est possible que ce soit quelque chose comme "if row(bv1:bv).empty then next ... "

    Bref vous l'avez compris, je ne suis pas trés fort pour le VBA ...!

    Est ce que c'est possible de faire ca? et est ce que quelqu'un pourrait m'aider?

    Merci d'avoir lu mon message. A bientot

  2. #2
    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
    Bonsoir

    Adapte le sub Exemple:

    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
    Private Sub Convert(Rng As Range)
     
    If Application.CountA(Rng) > 0 Then Rng.TextToColumns Destination:=Rng(1, 1), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Other:=True, OtherChar:="#"
    End Sub
     
    Sub Exemple()
    Dim Dlg As Long
     
    With Sheets("Feuil1")                                                'à adapter
        Dlg = .Cells(.Rows.Count, "A").End(xlUp).Row                     'A adapter en fonction de la colonne de recherche de la dernière ligne remplie
        Convert .Range("BL1:BL" & Dlg)
        Convert .Range("BQ1:BQ" & Dlg)
        Convert .Range("BV1:BV" & Dlg)
        Convert .Range("CA1:CA" & Dlg)
        Convert .Range("CF1:CF" & Dlg)
    End With
    End Sub

Discussions similaires

  1. [XL-2010] Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante
    Par Remi_54500 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/05/2015, 17h38
  2. Si la cellule est vide alors supprimer la ligne correspondante
    Par dolin007 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 20/11/2009, 14h09
  3. Repérer les colonnes vides et les lignes mal renseignées
    Par mouncefdi dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 28/04/2009, 19h06
  4. Macro création de ligne suivant colonne
    Par mik388 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/05/2008, 20h06
  5. Sélection de données séparées par des lignes et/ou des colonnes vides
    Par Crystalle dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/12/2007, 20h02

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