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 :

Remonter le contenu d'une ligne non vide à une ligne vide


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 44
    Points : 0
    Points
    0
    Par défaut Remonter le contenu d'une ligne non vide à une ligne vide
    Bonjour ,

    SVP , j'ai des données sur une feuille excel et j'ai fait un bouton "effacer" avec macro pour qu'il m'efface le contenu de n'importe qu'il ligne que j'ai séléctionné en utilisant cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.EntireRow.Clear
    , ce que je veux c'est lorsque j'efface le contenu d'une ligne , le contenu de la ligne au dessous remonte , pour n'importe quel nombre de ligne (une ou plusieurs) .

    Merci

    cordialement .

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En résumé tu souhaites supprimer la ligne sélectionnée. Il faut utiliser pour cela la méthode Delete au lieu de Clear.
    L'enregistreur de macros t'aurait apporté cette réponse.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.EntireRow.Delete
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 44
    Points : 0
    Points
    0
    Par défaut
    Merci pour vos réponses , mais je veux pas utiliser "Delete" , parceque dans mon code , j'ai utiliser le nom des lignes de façon précise , et si je supprime une ligne , cela va modifier mon code . est ce qu'il existe une possibilité pour remonter le contenu ?

    Cordialement

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    j'ai utiliser le nom des lignes de façon précise
    Dans ce cas, utilise le tri décroissant de la plage ainsi les lignes ayant une cellule vide se trouvera en dessous mais dans ce cas le nom sera également déplacé.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Sinon, en copiant les valeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim DerLigne As Long, Plage As Range
        Selection.EntireRow.Clear
        DerLigne = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
        Set Plage = Range(Selection.Row + 1 & ":" & DerLigne)
        Selection.Resize(Plage.Rows.Count, Plage.Columns.Count).Value = Plage.Value
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

Discussions similaires

  1. [XL-2007] Copier ligne et coller dernière ligne non vide
    Par John Parker dans le forum Macros et VBA Excel
    Réponses: 30
    Dernier message: 06/09/2013, 16h20
  2. [XL-2003] Récupérer une cellule de la dernière ligne non vide d'un tableau
    Par christoff916 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 17/08/2011, 14h22
  3. Calcul de la somme d'une colonne apres la derniere ligne non vide
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/06/2009, 11h14
  4. Réponses: 20
    Dernier message: 03/05/2008, 00h20
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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