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 :

Supression de deux colonnes à partir d'une ligne donnée


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 472
    Points : 71
    Points
    71
    Par défaut Supression de deux colonnes à partir d'une ligne donnée
    Bonjour,

    Je souhaite supprimer deux colonnes qui corresponde à une colonne d'un tableau à partir de la ligne 56.

    Pour ce fait j'utilise ce code là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
          Range("H56:I56").Select
                    Range(selection, selection.End(xlDown)).Select
                    selection.Borders(xlEdgeTop).LineStyle = xlNone
                    selection.Borders(xlEdgeBottom).LineStyle = xlNone
                    selection.Borders(xlEdgeRight).LineStyle = xlNone
                    selection.Borders(xlInsideVertical).LineStyle = xlNone
                    selection.Borders(xlInsideHorizontal).LineStyle = xlNone
                    selection.Delete Shift:=xlToLeft
    Mais avec cette methode là ça me supprime juste la cellule de la ligne 56 alors que je veux supprimer de la cette cellule là jusqu'à la fin de ma feuille.

    J'ai vu qu'il y avait une solution pour sélectionner deux colonnes qui est celle là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim cRange As Variant
     
    Set cRange = Range(Columns(8), Columns(9))
    cRange.Select
     
    Selection.Delete Shift:=xlToLeft
    Mais avec ce code là je supprime la totalité des colonnes alors que moi je souhaite les supprimer à partir de la ligne 56.

    Avez vous une idée sur la solution ?

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Technicien Méthodes
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    Voici qui devrait répondre à tes attentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub SupprimerColonnes()
     
        Dim DerLigne As Integer
     
        DerLigne = Range("I" & Rows.Count).End(xlUp).Row
     
        Range("I56:J" & DerLigne).Delete shift:=xlUp
     
    End Sub
    Cdt

    Guiiand

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 472
    Points : 71
    Points
    71
    Par défaut
    Bonjour et merci pour ta réponse
    Cela dit je n'ai pas très bien compris ton code et je ne sais pas pourquoi t'as utilisé le "J".

    Pour ma part j'ai utilisé ce code là en modifiant celui que j'ai posté en premier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim rRange As Variant
     
                        Set rRange = Range(Cells(57, 8), Cells(57, 9))
                        rRange.Select
                        selection.Delete Shift:=xlToLeft
    Mais ça me supprime que la cellule 57 et 58

    J'ai un autre souci aussi car cette suppression là je la fais quand une case est cochée .

    Quand la case n'est plus coché je reconstruit les colonnes que j'avais supprimé , j'ai pu faire ça en enregistrant une macro.

    Du coup j'ai un problème après la construction du tableau quand la case est devient cochée eh beh la suppression ne se réalise pas correctement

  4. #4
    Membre actif
    Homme Profil pro
    Technicien Méthodes
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    La tete enfarinée, j'ai décalé d'une colonne, mais le principe est le meme, il y avait juste à corriger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub SupprimerColonnes()
     
        Dim DerLigne As Integer
     
        DerLigne = Range("H" & Rows.Count).End(xlUp).Row
     
        Range("H56:I" & DerLigne).Delete shift:=xlUp
     
    End Sub
    Cdt

    Guiiand

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 472
    Points : 71
    Points
    71
    Par défaut
    Oui ^^ ça m'a fait rire la tête enfarinée
    Sinon j'ai utilisé ce code là pour résoudre mon problème de supression :

    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
    Range("H57:I58").Select
                        selection.ClearContents
     
                        selection.Borders(xlDiagonalDown).LineStyle = xlNone
                        selection.Borders(xlDiagonalUp).LineStyle = xlNone
                        With selection.Borders(xlEdgeLeft)
                            .LineStyle = xlContinuous
                            .ColorIndex = 0
                            .TintAndShade = 0
                            .Weight = xlThin
                        End With
                        selection.Borders(xlEdgeTop).LineStyle = xlNone
                        selection.Borders(xlEdgeBottom).LineStyle = xlNone
                        selection.Borders(xlEdgeRight).LineStyle = xlNone
                        selection.Borders(xlInsideVertical).LineStyle = xlNone
                        selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Sachant que c'est une suppression de colonnes d'un tableau j'ai viré les bordures.

    Je ne sais pas si ma solution est plus correcte que la tienne ?

    Merci en tout cas pour ton aide

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/04/2013, 17h36
  2. valeur à partir d'une ligne et d'une colonne
    Par dr0zz dans le forum Excel
    Réponses: 2
    Dernier message: 21/09/2012, 11h30
  3. Réponses: 3
    Dernier message: 06/07/2012, 16h01
  4. Réponses: 4
    Dernier message: 28/12/2010, 16h40
  5. Créer de nouvelles colonnes à partir d'une ligne
    Par julien4 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/10/2007, 12h33

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