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 :

Couper-coller des lignes dans un autre onglet


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 33
    Par défaut Couper-coller des lignes dans un autre onglet
    Bonjour,

    J'ai un classeur Excel à trois onglets: le principal (tableau de bord), les archives (tâches complétées) et la Feuil2 qui sert seulement de références.

    J'aimerais que lorsqu'une tâche du tableau de bord a un statut Complété en colonne I, la ligne soit couper et coller dans l'onglet Archives.

    Dans le meilleur des mondes, il faudrait que la ligne coupée se supprime une fois vide pour éviter de laisser des lignes vides dans la tableau de bord.

    J'imagine que c'est possible avec une Macro, mais je ne m'y connais pas très bien. Une idée de code?

    Merci!

  2. #2
    Expert éminent 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
    Par défaut
    Citation Envoyé par medlassocie90 Voir le message
    J'aimerais que lorsqu'une tâche du tableau de bord a un statut Complété en colonne I, la ligne soit couper et coller dans l'onglet Archives.
    Utilise une macro Worksheet_Change en commençant par vérifier que la colonne du paramètre est 1 et qu'elle contient le statut Complété.
    https://msdn.microsoft.com/fr-fr/lib...5(v=office.15)

    Si c'est le cas, couper la ligne entière avec une méthode Cut.
    https://msdn.microsoft.com/fr-fr/lib...4(v=office.15)

    Et colle-la dans l'onglet archive avec la méthode PasteSpecial.
    https://msdn.microsoft.com/fr-fr/lib...6(v=office.15)

    Dans le meilleur des mondes, il faudrait que la ligne coupée se supprime une fois vide pour éviter de laisser des lignes vides dans la tableau de bord.
    La notion de "vide" dans Excel peut avoir de nombreuses significations.
    Il faudrait que tu en dises plus sur la façon d'obtenir ce "vide" et à quel point cette ligne est vide (valeurs ? Formules ? Formats ? Autres ?).

  3. #3
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 33
    Par défaut
    Bonjour Menhir, merci de ta réponse.

    Malheureusement, mes connaissances limitées de me permettent pas de comprendre l'ensemble des documents de références fournis. Je n'arrive pas à voir comment agencer ces trois formules avec le code approprié à mes feuilles

    Pour la question du vide, je veux qu'une fois la ligne coupée, elle soit supprimée de la feuille d'origine, pour éviter qu'il ne reste des lignes sans contenu parmi le tableau de bord.

    Merci

  4. #4
    Expert éminent 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
    Par défaut
    Citation Envoyé par medlassocie90 Voir le message
    Malheureusement, mes connaissances limitées de me permettent pas de comprendre l'ensemble des documents de références fournis. Je n'arrive pas à voir comment agencer ces trois formules avec le code approprié à mes feuilles
    Je pense qu'il te sera nécessaire d'acquérir quelques bases en VBA pour parvenir à réaliser ton projet.
    A lire : http://bidou.developpez.com/article/VBA/

    Pour la question du vide, je veux qu'une fois la ligne coupée, elle soit supprimée de la feuille d'origine, pour éviter qu'il ne reste des lignes sans contenu parmi le tableau de bord.
    Une ligne coupée peut pas être supprimée puisque, par nature, elle n'existe plus.
    Cependant, la méthode Cut appliquée à toute une ligne, fait disparaitre l'original après le collage, ce qui est, je pense, ce que tu souhaites.

  5. #5
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 33
    Par défaut
    Merci pour cette documentation. Malheureusement, je suis de celles qui comprennent mieux avec un exemple concret plutôt que 220 pages de lecture. C'est souvent en regardant une formule ou un code que j'ai pu me l'approprier, en analysant quelle partie fait quoi. Si jamais quelqu'un a une idée en ce sens, elle est bienvenue.

    Merci!

  6. #6
    Membre averti
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2019
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Septembre 2019
    Messages : 33
    Par défaut
    Voici à quoi j'arrive présentement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        ActiveSheet.ListObjects("Tableau13").Range.AutoFilter Field:=9, Criteria1:= _
            "Complété"
        Range("A5:J20").Select
        Selection.Copy
        Sheets("Archives").Select
        Range("A2").Select
        ActiveSheet.Paste
        Sheets("Tableau de bord").Select
        Rows("5:20").Select
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlUp
        ActiveWindow.SmallScroll Down:=-3
        ActiveSheet.ListObjects("Tableau13").Range.AutoFilter Field:=9
    End Sub
    Par contre, le Range qui se détermine, c'est un exemple, ça ne sera pas toujours nécessairement ces lignes là qui sont concernées, c'est selon le statut "Complété" que ça doit se déterminer. Même chose quand les lignes se suppriment à Row(5:20), ce ne sera pas toujours les lignes 5 à 20, mais plutôt les lignes qui contiennent "Complété".

    Une idée pour améliorer le tout?

  7. #7
    Expert éminent 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
    Par défaut
    Citation Envoyé par medlassocie90 Voir le message
    Malheureusement, je suis de celles qui comprennent mieux avec un exemple concret
    C'est une tournure que l'on lit très souvent sur le forum et qui généralement signifie "faite le travail à ma place, moi je n'ai ni l'envie ni le temps".
    Désolé mais ce forum n'est pas là pour fournir de la main d'oeuvre gratuite. Si tu ne veux pas participer activement à la résolution de ton action, ce n'est pas moi qui ferait tout le boulot.

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/06/2018, 20h01
  2. [XL-2007] Déplacer des lignes dans un autre onglet selon valeur d'une cellule
    Par Accessifiante dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 06/05/2014, 16h45
  3. Couper coller des lignes vers autre feuille
    Par CLAUDE19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/01/2012, 17h30
  4. copier/coller des lignes dans feuilles crées
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/03/2008, 19h58
  5. Déplacer des lignes dans une autre feuille
    Par dj-julio dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/11/2007, 09h24

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