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 :

Besoin d'aide pour une Macro (copier une ligne et la coller dans une base de données à la suite)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 3
    Points : 0
    Points
    0
    Par défaut Besoin d'aide pour une Macro (copier une ligne et la coller dans une base de données à la suite)
    Bonjour,

    ça fait 1 jour que je suis sur cette Macro que je n'arrive pas à faire !!!
    Je commence à perdre patience.

    Voilà ma problématique: (vous me direz rien de bien compliqué mais pour moi c'est le bout du monde).

    J'ai deux feuilles Excel :
    - "Saisie" et l'autre "Données".

    Je saisie les informations dans la feuille "saisie" et ensuite à travers une Macro je souhaite coller cette ligne (Range A22:BG22) dans la feuille "Données".
    Jusque là pas de soucis (ci-dessous le code):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub CopieSaisie()
     
     Sheets("Saisie").Select
     Range("a22:bg22").Select
     Selection.Copy
     Sheets("Données").Select
     Selection.PasteSpecial Paste:=xlValues, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=False
     Sheets("saisie").Select
     Application.CutCopyMode = False
     Range("c2").Select
    End Sub

    Sauf que quand je répète mon opération bien entendu ça écrase mes données précédentes.

    Pouvez-vous m'aider à ce que quand je valide une nouvelle saisie celle-ci se copie à la suite?

    Merci d'avance à vous tous.

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Ce code est visiblement brut de l'enregistreur de macro (tu n'as même pas nettoyé les parties de code inutiles).
    Peu probable donc que tu ais passé une journée dessus (il ne faudrait pas nous prendre pour des lapereaux de 3 semaines ).

    Une nouvelle fois (on ne le répètera jamais assez), l'enregistreur automatique de macro c'est bien, mais nettoyer le code obtenu, c'est mieux.
    Utiliser ce très bon outil n'affranchit pas d'apprendre quelques notions de base du langage.

    Donc, ton code nettoyé et complété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub CopieSaisie()
       Sheets("Saisie").Range("A22:BG22").Copy Sheets("Données").Cells(Rows.Count, 1).End(xlUp)
    End Sub
    Voir
    https://msdn.microsoft.com/fr-fr/lib.../ff837760.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff839539.aspx
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    Ok j'y ai passé 1/2 journée . Par contre je ne suis pas plus avancé.

    Avec ton code je copie mes formules or moi je veux copier seulement des valeurs.
    Derrière ca quand je répète la macro je copie la ligne sur la précédente.

    Ce que je souhaite faire obtenir, c'est une base de donnée.

    Je ne sais pas si j'ai été suffisamment clair?

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Olive77 Voir le message
    Ok j'y ai passé 1/2 journée .
    Je pense que dire même 1/2 heure serait excessif.
    Impression renforcée par le temps que tu as pris pour étudier le code que je t'ai transmis avant de refaire une demande.

    Par contre je ne suis pas plus avancé.
    Là tu charries un peu.
    Je t'ai donné tous les éléments pour réaliser ce que tu souhaites pour peu que tu prennes la peine de les étudier.

    Avec ton code je copie mes formules or moi je veux copier seulement des valeurs.
    Dans ce cas, fais-le en deux ligne avec un PasteSpecial mais le principe reste le même.

    Derrière ca quand je répète la macro je copie la ligne sur la précédente.
    Ajoute Offset(1, 0) à la fin de la référence de destination pour prendre la ligne suivante.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2017
    Messages : 3
    Points : 0
    Points
    0
    Par défaut
    Je charie pas c'est juste que je me lance dans la programmation et que j'ai tout simplement pas de base....

    Donc ce qui te parait logique ou dénué de sens pour toi ne l'ai en aucun point pour moi

    Même avec ton dernier message je n'avance pas plus.
    Mais je vais tester again again et puis peut-être que ça viendra ^^ .

  6. #6
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Olive77 Voir le message
    Je charie pas c'est juste que je me lance dans la programmation et que j'ai tout simplement pas de base....
    "Ne pas avoir" et "ne pas vouloir" sont deux choses différentes.
    Si vraiment tu voulais avoir les bases, elles seraient à porter de ta main.
    http://bidou.developpez.com/article/VBA/
    Et, pour ton info, il y a une touche magique dans le VBE qui s'appelle F1 et qui te permet d'accéder à l'aide de chaque élément de langage de VBA.

    Visiblement, tu n'as pas pris la peine de lire les liens que j'avais mis dans mon premier message.
    Et dire que ce message n'a en rien fait progresser la solution de ton problème, c'est vraiment montrer que tu attends que la solution te tombe toute cuite dans le bec.

    Perso, tant que tu n'auras pas montré que tu es un peu acteur dans la recherche de ta solution, j'en resterai là.

    Bonne chance.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

Discussions similaires

  1. [Toutes versions] Macro pour copier le contenu d'une cellule d'un fichier excel et coller dans une form
    Par wizishop dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 16/10/2015, 12h05
  2. [XL-2007] Besoin d'aide pour ma macro
    Par algerien73 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/09/2011, 13h13
  3. [XL-2002] Besoin d'aide pour finaliser Macro mise en forme + bordure
    Par warrio67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/03/2010, 05h23
  4. [VBA-E]SOS besoin d'aide pour un macro
    Par lecossais dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 18/06/2006, 18h57

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