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 cellule avec condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut Couper coller cellule avec condition
    Bonjour à toutes et à tous

    J'ai créé un tableau excel pour gérer les payement fournisseur au boulot.

    Je m'occupe des payements pour plusieurs de nos sociétés (société A, société B, Société C ...)

    J'ai donc fais un tableau où j’introduis les échéances des payements et dés que l'échéance est dépassé, j'ai fais une mise en forme conditionnelle et j'ai une cellule qui devient rouge et il se met en mode RETARD. Dés que j’introduis la date de payement, ça change et ça se met en "payé". Si la date d'échéance n'est pas à terme, c'est mis "à jour"

    Tout marche bien, mon seul soucis, c 'est que je me retrouve après qques semaines avec bcp trop de lignes "payé" et ça polue mon fichier, mais je voudrais les garder pour mon historique.

    Je voudrais donc que dés que la facture est payé la ligne soit copiée sur la feuille "payé" et qu'elle n’apparaisse plus dans mon échéancier principal. Il faudrait aussi que me retrouve pas avec pleins de lignes vide une fois que les données sont transférées à l'autre feuille.

    Le problème c'est que je ne sais pas faire de macro, j'essaye d'apprendre mais tout seul c 'est un peux compliqué et là ça fais 15 jours que je galère.

    Qqun pourrait il, svp, m'aider avec une macro sympathique qui se mettrais en route toute seule, sans devoir appuyer sur un bouton pour l'activer


    Voici le fichier
    Merci infiniment

  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
    13 176
    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 : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le problème c'est que je ne sais pas faire de macro, j'essaye d'apprendre mais tout seul c 'est un peux compliqué et là ça fais 15 jours que je galère.
    L'enregistreur de macros est le meilleur ami du programmeur et pour programmer en VBA pour Excel, une bonne connaissance de ces outils et fonctionnalités est un plus.
    Donc, tu souhaites que les lignes dont la colonne X contient le mot "Payé" soit exportée vers une feuille nommée [Payé]
    A) Pour exporter des lignes répondant à des conditions d'une feuille vers une autre, deux possibilités
    1) Filtre simple sur la colonne X, choisir "Payé" et ensuite Copier les feuilles filtrées et Coller ensuite dans la feuille [Payé]
    2) Le filtre élaboré d'excel dont la lecture de ce tutoriel t'en apprendra plus Les filtres avancés ou élaborés dans Excel

    Pour ma part, dans ce cas précis, j'utiliserais le premier choix.
    B) Ensuite, il faut supprimer les lignes, les feuilles filtrées étant encore sélectionnées (tiret clignotant), il suffit de faire un clic droit, et choisir Supprimer la ligne dans le menu contextuel.
    Un message Voulez-vous supprimer la ligne entière ? va apparaître, et il suffit de cliquer sur le bouton OK.
    C) Il suffit d'effacer le filtre et le tour est joué.
    L'enregistreur de macros aura "pondu" un code qu'il faut ensuite un peu retravailler.
    C'est là que la FAQ de DVP ou les intervenants de ce forum pourront t'apporter leur aide mais pas en te donnant le code tout fait.

    Si maintenant, il faut qu'à chaque fois que l'on tape "Payé", la ligne doit se copier et se supprimer, il faut aller voir du côté de la procédure événementielle Worksheet_Change où l'argument Target représente la cellule modifiée.

    Et il est inutile de déposer un classeur
    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
    Nouveau candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Par défaut
    Merci pour la réponse !

    Ce qui donne:

    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
    Sub essais1()
    '
    ' essais1 Macro
    '
     
    '
        Range("H3").Select
        Selection.AutoFilter
        ActiveSheet.Range("$B$3:$H$948").AutoFilter Field:=7, Criteria1:="payé"
        Range("B6:H12").Select
        Selection.Copy
        Sheets("payé").Select
        ActiveSheet.Paste
        Sheets("Feuille2").Select
        Application.CutCopyMode = False
        Selection.EntireRow.Delete
        Range("H3").Select
        Selection.AutoFilter
     
    End Sub
    


    ça marche la première fois que je le fais et après plus du tout...

    Je pense qu'il faut pas faire de filtre, mais plutôt lui demander de sélectionner la ligne qui contient le mot "payé" , et après je pense qu'avec copier coller ça devrait aller... qu'en pensez vous ?

Discussions similaires

  1. Besoin d'aide: couper-coller transposé avec conditions
    Par juju2662 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/06/2014, 11h33
  2. Couper/Coller Cellule/Colonne Excel depuis VB.NET
    Par Florian54 dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/03/2011, 20h47
  3. [XL-2003] VBa selection cellules avec condition
    Par gwencab dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2011, 16h49
  4. repositionnement d'une cellule avec condition
    Par commetuveux dans le forum Conception
    Réponses: 9
    Dernier message: 20/10/2009, 11h57
  5. cellules avec condition relié avec checkbox
    Par lavalois dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 19/03/2008, 09h52

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