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 :

[VBA-E]Copier avant d'effacer


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Points : 54
    Points
    54
    Par défaut [VBA-E]Copier avant d'effacer
    Bonjour,

    J'ai créé un formulaire me permettant de modifier, saisir ou effacer une base de donnés. chaque ligne correspond aux renseignements d'une personne. Avec cela, je souhaiterais que lorsque j'efface une ligne (une personne) les données soient coller dans une autre feuille du même classeur. Actuellement j'ai le code pour effacer la ligne mais pas pour la copier dans l'autre feuille...

    Quelqu'un pourrait-il me donner un p'tit coup de pouce ?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Le meilleur conseil: fais le "à la main", en enregistrant la macro. Il ne te restera qu'à fignoler le code obtenu.

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu pourrais le faire en enregistrant la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Rows("3:3").Select
        Selection.Cut      'N'efface pas la ligne, se contente de la copier
        Sheets("Feuil2").Select  'passage dans feuil2
        Rows("7:7").Select  'sélection de la ligne suivant la ligne d'insersion
        Application.CutCopyMode = False
        Selection.Insert Shift:=xlDown  'insersion feuil2 de la ligne coupée feuil1
        Sheets("Feuil1").Select     'Retour sur feuil1 (ta ligne est toujours sélectionnée)
        Selection.Delete Shift:=xlUp     'SUPPRESSION de la ligne
    Tu peux simplifier mais voilà pour le principe

    A+

    Tu peux remplacer "Rows("7:7").Select " par

    ou NoLigne est donc une variable (!)

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    Super ça marche. Merci du coup de main !

    J'aurais une autre question. les données que j'efface sont, en fait, des employés qui quittent l'entreprise et j'aurais besoin de connaître la date de départ. Par conséquent est-il possible que, lorsque je click sur mon bouton effacer, une boîte de dialogue s'ouvre en me demandant la date et que celle-ci s'affiche sur ma feuil2 dans la colonne 16 ?

    Je ne sais pas si j'abuse

  5. #5
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Salut ,
    je pense que ce que tu cherches c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Val_lue=inputbox("Saissez la date")
    Et puis ta variable :"Val_lue" tu en fais ce que tu veux après !!!

    Si c'est ça qu tu veux tu le dis STP

    Igloobel
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 113
    Points : 54
    Points
    54
    Par défaut
    Peut-être bien... mais étant donné mon niveau en vba je ne sais pas...

    Voilà ce que j'ai actuellement pour me copier mes données dans ma feuil2 à partir de ma base (feuil1) lorsque j'efface un employé. Donc si tu pouvais me dire où il faut que je place ton code ce serait sympathique !

    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 Supprimer_Click()
    Dim i As Integer
    'Supprimer l'employé séléctionné
        i = lstEmployes.ListIndex + 15
            Rows(i).Select
            Selection.Cut
            Sheets("Anciens employés").Select
            Rows("2:2").Select
            Selection.Range("3:3").Insert shift:=xlShiftDown
            Sheets("Employés").Select
        Selection.Delete shift:=xlUp
        Init_Employes
        bnouveau = True
          ' Réaffichage de la liste des employés
    If bnouveau Then Affiche_Employes
    End Sub
    Merci d'avance

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. [XL-2003] Copier avant d'effacer
    Par sylvestre09 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/04/2012, 16h14
  3. [VBA-E] Copier à la suite...
    Par keyser22 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/01/2006, 17h08
  4. [VBA-E] Copier une formule de calcul dans toute la ligne
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/12/2005, 18h18
  5. [VBA Exel] Copier un fichier xls et lui donner un autre nom
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/11/2005, 17h40

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