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 :

Recopie d'un tableau avec bouton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 20
    Par défaut Recopie d'un tableau avec bouton
    Bonjour,

    J'ai déjà un programme qui effectue avec un clic la copie d'un tableau type (stocké dans une feuille).
    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
    21
    22
    23
    24
    25
    Sub Macro1()
     
    Dim BE As String 'déclare la variable BE(Boîte d'Entrée)
    Dim O As Object 'déclare la variable O (Onglet)
    Dim PCV As Integer 'déclare la variable PCV (Première Colonne Vide)
     
     
     
    BE = InputBox("Texte ?", "Titre du Tableau", "Contrôle ") 'définit la boîte d'entrée BE
    If BE = "" Then Exit Sub 'si bouton annuler ou non renseignée, sort de la procédure
     
     
    Set O = Sheets("Feuil1") 'définit l'onglet O
    PCV = O.Cells(2, Application.Columns.Count).End(xlToLeft).Column + 1 'définit la première colonne vide de la ligne 2
     
    Sheets("Feuil2").Range("A1").CurrentRegion.Copy O.Cells(1, PCV) 'copie le tableau de l'onglet Feuil2
     
    PCV = O.Cells(2, Application.Columns.Count).End(xlToLeft).Column + 1 'définit la première colonne vide de la ligne 2
     
    ActiveSheet.Shapes.Range(Array("Button 1")).Select 'sélectionne le bouton
     
    Selection.Left = O.Cells(1, PCV).Left 'déplace le bouton
    O.Cells(1, PCV).Offset(0, -1).Select 'sélectionne la cellule première cellule du tableau copié
    ActiveCell.Value = BE 'renvoie le texte dans la première cellule du tableau copié
    End Sub
    Seulement dans ma Feuil2 j'ai également des boutons de présent dans les cellules et j'aimerais donc qu'ils se copient en meme temps que le tableau

    Une idée ?

    Merci d'avance

  2. #2
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    salut,

    tu peux le faire de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    source.Copy
    dest.PasteSpecial xlPasteAll
    Mais, il faut avoir défini la propriété CopyObjectsWithCells à True
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CopyObjectsWithCells = True

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 20
    Par défaut
    A quel niveau devrais-je donc insérer le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    source.Copy
    dest.PasteSpecial xlPasteAll
    ?
    ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil2").Range("A1").CurrentRegion.Copy O.Cells(1, PCV)
    ?

  4. #4
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    Surprenant que tu détiennes un code sans le connaître !
    source de l'exemple correspond à ton Sheets("Feuil2").Range("A1").CurrentRegionN'oublies pas de t'assurer au préalable que la propriété CopyObjectsWithCells est définie à True.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 20
    Par défaut
    j'ai mal posé la question :
    pour le source j'avais bien identifié ma ligne mais le pastspecial me sort une erreur 1004.

  6. #6
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut re
    salut,

    Que devrais je déduire de ça ? Sinon que tu le fais mal.

    Le PastSpecial c'est pour te montrer des options de collage que tu peux préciser. Et peut-être considéré comme hors-sujet, si ce n'est que pour toi je le penses instructif.

    Tu peux faire ton copier comme avant. La réponse à ta question intitulée : "Recopie d'un tableau avec bouton"
    est donnée par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CopyObjectsWithCells = True

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

Discussions similaires

  1. Macro pour effacer différentes cellules dans un tableau avec bouton.
    Par seigneurchris dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2011, 22h15
  2. [WD10] Tableau avec Bouton Radios et Combo
    Par karim.net7 dans le forum WinDev
    Réponses: 2
    Dernier message: 09/11/2010, 18h26
  3. afficher tableau avec bouton option
    Par angel84 dans le forum VB.NET
    Réponses: 0
    Dernier message: 12/02/2009, 16h12
  4. Réponses: 19
    Dernier message: 04/08/2008, 13h38
  5. [jsp] tableau avec un bouton suivant
    Par missyos dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/05/2008, 16h15

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