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: programmer un Copier/coller avec liaison de plusieurs valeurs d'une feuille à une autre en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut VBA: programmer un Copier/coller avec liaison de plusieurs valeurs d'une feuille à une autre en vba
    Bonjour à tous,

    Après de nombreuses recherches et de tentatives je m'en remets à vous pour trouver une solution à mon problème.

    Voici mon problème:
    Je possède un fichier EXCEL composé de 2 feuilles de bases (1 feuille de saisie vierge + 1 feuille récapitulative).
    L'idée est la suivante:
    1) Je rentre mes valeurs dans la feuille de saisie vierge (0 ou 1)
    2) Les valeurs de la feuille de saisie se retransmettent automatiquement sur la feuille récapitulative.
    3) La feuille récapitulative est capable de se mettre à jour en fonction des modifications faite dans la feuille de saisie.

    Mon problème est que je n'arrive pas à programmer sous VBA (je suis un novice) un copier coller avec liaison pour répondre au besoin de l'étape 3. Comment faire s'il-vous-plait? Avez-vous d'autres solutions peut-être à me suggérer?

    D'avance merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Par défaut
    Bonjour,

    Si j'ai bien comprit, tu souhaites qu'à chaque modification de la feuille de saisie, ces modifications soient transmises à la feuille récapitulative?

    Si c'est le cas, utilises l’événement worksheet_change

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut
    Merci Mackay77 de ta réponse .
    Alors oui tu as bien cerné mon principe. Concernant le Worksheet_change tu mettrais ça où dans vba (module, propriété de la feuille...) ?
    Voici une macro que j'ai essayé de faire pour l'instant elle est capable de copier et de coller mais pas automatiquement et sans liaison...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro1()
        Range("D5:D65").Select 'Selection des cellules à copier de la feuille X
        Selection.Copy
        Sheets("TBR").Select ' Active la feuille
        Range("XFD1").End(xlToLeft).Offset(2, 0).Select ' Se positionne a la dernière colonne renseignée
        Selection.PasteSpecial Paste:=xlPasteAll 'Copie les valeurs
    End Sub

  4. #4
    Membre expérimenté
    Homme Profil pro
    développeur
    Inscrit en
    Février 2013
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Février 2013
    Messages : 123
    Par défaut
    Juste dans le code de ta feuille de saisie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
    'le code
    End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut
    J'ai essayé ça n'a pas l'air de fonctionner :/.

    Je vais détailler un peu plus mon fichier je pensais qu'en expliquant le principe de base j'allais m'en sortir mais non...

    En faite j'ai ma feuille récapitulative nommée "TBR" et la feuille de saisie nommée "Checklist".

    "Checklist" est une feuille vierge et "pilote" en même temps : elle me permet de créer autant de checklist que je veux

    Ce que je souhaiterais c'est qu'une fois que j'ai fini de faire une checklist ou de la modifier ultérieurement que toutes les valeurs de toutes les checklists que j'ai pu créer puissent être retransmise et mise à jour sur ma feuille "TBR"

    Donc au final mon fichier possède 2 fichiers de bases mais peut posséder une multitude de feuilles modifiables au cours du temps.

    Merci encore pour vos réponses

  6. #6
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 684
    Par défaut
    Citation Envoyé par aurelu Voir le message
    J'ai essayé ça n'a pas l'air de fonctionner :/
    Sache que rares sont les membres de ce site à pratiquer la divination, si tu veux qu'on t'aide un peu de détail n'est jamais superflu.

  7. #7
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 684
    Par défaut
    Un tuto sur les evenement du classeur: http://silkyroad.developpez.com/VBA/EvenementsClasseur/

    As tu vraiment besoin de copier immédiatement après chaque changement?
    Si non, un workbook_BeforeSave serait peut être plus approprié

    Pour ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Macro1()
     Range("D565").Select 'Selection des cellules à copier de la feuille X
     Selection.Copy
     Sheets("TBR").Select ' Active la feuille
     Range("XFD1").End(xlToLeft).Offset(2, 0).Select ' Se positionne a la dernière colonne renseignée
     Selection.PasteSpecial Paste:=xlPasteAll 'Copie les valeurs
     End Sub
    Les select sont inutiles et couteux en temps d'execution, voire parfois source d'erreur.
    Et vu que as plusieurs il vaut mieux avant le range préciser la feuille pour être sur de copier ce que tu veut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Macro1()
     sheets("nondetafeuille").Range("D565").Copy
     Sheets("TBR").Range("XFD1").End(xlToLeft).Offset(2, 0).PasteSpecial Paste:=xlPasteAll 'Copie les valeurs
     End Sub
    Pour ce qui est du collage avec liaison, essaye de passer par l'enregistreur de macro pour avoir la syntaxe.

    PS: pense a utiliser la balise CODE quand tu poste du code c'est beaucoup plus lisible

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

Discussions similaires

  1. [XL-2007] Macro copier coller avec liaison entre classeurs
    Par Hakha dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/01/2015, 16h41
  2. Copier/Coller avec double liaison !
    Par 22031989 dans le forum Excel
    Réponses: 1
    Dernier message: 12/03/2010, 11h50
  3. [WD-2007] Copier / coller avec liaison d'excel à word
    Par eppo81 dans le forum Word
    Réponses: 1
    Dernier message: 21/02/2010, 13h34
  4. Saturation du copier coller avec VBA
    Par frank26 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/11/2008, 10h25
  5. copier coller avec Pastespecial en VBA
    Par stormless dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2005, 12h59

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