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 :

[Excel] Insertion date de transfert


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut [Excel] Insertion date de transfert
    Bonjour à toute l'équipe du forum,

    J''ai créé un code qui permet de transféré la ligne active d'une feuille vers la première ligne vide d'une autre feuille "poubelle".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub transfert()
     
    x = ActiveCell.Row
    Rows(x).Select
     
    Selection.Cut
    Sheets("Poubelle").Select
    Rows(Range("a65536").End(xlUp).Row + 1).Select
    ActiveSheet.Paste
    Sheets("En cours").Select
    Rows(x).Delete Shift:=xlUp
     
    End Sub
    Je voudrais insérer à chaque transfert dans la cellule (H;ligne copiée) la date de transfert de ma ligne.
    Date qui serait alors fixée.

    Quel bout de code dois-je rajouter à ma macro?

    Merci

    Chewi

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben utilise une variable pour stocker le numéro de derniére ligne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    iDerLigne = Range("a65536").End(xlUp).Row + 1
    ...
    
    puis utilise la variable...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ..
    Rows(iDerLigne ).Select
    ..
    cells(iDerLigne ,"H") = Date
    
    Attention à l'ordre de tes lignes .. et surtout à la feuille active..., car sans
    rien devant .. les objets range, Cells.... pointe sur la feuille active..

  3. #3
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut date dynamique --> date fixe
    Salut bbil,

    Date Function

    Returns a Variant (Date) containing the current system date
    Ma date va donc changer tous les jours si je comprends bien.
    Or je voudrais qu'elle reste sur la valeur qu'elle possède lors du transfert.
    C'est pour dans le futur pouvoir voir à quelle date j'ai envoyé ma ligne dans la feuille "poubelle"

    Chewi

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    ben non tu copie la "valeur" de date ... pas une formule...!

  5. #5
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut
    euh... autant pour moi?

    J'ai pas du bien comprendre le terme "Variant"

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    à oui ... comme je préfére limiter l'utilisation des Select, ActiveSheet.... j'avais préparé une version limitant leur utilisation (seule activeCell est utilisé pour l'initialisation..)

    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
     
    Sub transfert()
        Dim fd As Worksheet 'Feuille destination
        Dim x  As Range
        Dim iDerLigne As Integer
        Set fd = Sheets("Feuil2") 'Poubelle
        Set x = ActiveCell ' On copie la ligne en cous  'En cours
        iDerLigne = fd.Range("a65536").End(xlUp).Row + 1
        x.EntireRow.Copy fd.Rows(iDerLigne)
        fd.Cells(iDerLigne, "H") = Date
        x.EntireRow.Delete Shift:=xlUp
        'Libération des objets..
        Set x = Nothing
        Set fd = Nothing
    End Sub

  7. #7
    Membre confirmé Avatar de Chewi
    Étudiant
    Inscrit en
    Août 2006
    Messages
    180
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 180
    Par défaut
    bbil,

    peux-tu me dire quel est le problème avec les "Select", "ActiveSheet", "ActiveCell", et autres.

    Car tu dis vouloir les éviter Or, la plupart du temps, je base ma syntaxe dessus.

    Merci

  8. #8
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Chewi
    bbil,

    peux-tu me dire quel est le problème avec les "Select", "ActiveSheet", "ActiveCell", et autres.

    Car tu dis vouloir les éviter Or, la plupart du temps, je base ma syntaxe dessus.

    Merci
    ben difficile à préciser... en les utilsant tu deviens dépendant de la façon dont est lancée ta macro (cellule active..., feuille active..) , tu provoque des mouvement du curseur vers les diverses feuilles et cellules ce qui modifie l'affichage et ralentie le déroulement de ta macro...il doit y avoir d'autre raison que j'ai du mal à trouver pour le moment...

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

Discussions similaires

  1. Insertion date max à l'import d'excel dans access
    Par eddyG dans le forum VBA Access
    Réponses: 0
    Dernier message: 04/10/2007, 12h08
  2. [SGBD] formulaire insertion date Bdd Mysql
    Par Mimisator dans le forum Administration
    Réponses: 7
    Dernier message: 30/11/2005, 09h38
  3. [EXCEL] Insertion liste déroulante dans une cellule
    Par the java lover dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/11/2005, 18h30
  4. [vb6-Excel] insertion de valeurs excel => vb
    Par ostro dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/10/2005, 15h21
  5. pb insertion date dans champs timestamptz
    Par stef74 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 08/07/2005, 09h06

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