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 :

Problèms macro pour inserer dynamiquement un tableau dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut Problèms macro pour inserer dynamiquement un tableau dynamique
    Bonjour à tous et à toutes,

    Voila j'ai un soucis sur ma macro. J'aimerai inserer un tableau dynamique via un bouton à l'aide d'une macro. Sachant que ce tableau dynamique est sous forme de tableau (tables) et qu'il doit s'insérer en dessous d'un premier tableau puis d'un second etc. Pour ce faire j'utilise la fonction offset. Mais lorsque j'exécute la macro pour qu'il insert le tableau il le fait bien mais décale mal le tableau. Il prend pour référence le début du tableau au lieu de la fin...

    Voici le code utiliser :
    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
    Sub INSERTION_TABLEAU_V2()
    'Sélection du tableau
    Rows("6:22").Select
    Application.CutCopyMode = False
    'Copie du tableau
    Selection.Copy
    'Référence sur la position à partir de laquelle il faut décaler le tableau à coller
    Dim n As Long
        With ActiveSheet
            n = .ListObjects.Count
            .ListObjects(n).Range.Select
        End With
    'Décalage par rapport à la référence
    ActiveCell.Offset(2, 0).Select
    'Insertion du tableau
    ActiveSheet.Paste
    End Sub
    Une solution?

    Merci à vous,

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut
    Si ca peux vous aidez, je vous joint à ce post le fichier.
    Fichiers attachés Fichiers attachés

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub COPIE_TABLEAU()
     
        Destination = Worksheets("METRES").Cells(Rows.Count, 1).End(xlUp).Row + 2
        'Copie du tableau
        Rows("6:22").Copy Destination:=Worksheets("METRES").Range("A" & Destination)
     
    End Sub

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub COPIE_TABLEAU()
     
        Destination = Worksheets("METRES").Cells(Rows.Count, 1).End(xlUp).Row + 2
        'Copie du tableau
        Rows("6:22").Copy Destination:=Worksheets("METRES").Range("A" & Destination)
     
    End Sub
    Chris,

    Merci pour ton retour et pour ton aide.
    J'ai un soucis quand j'utilise ta macro, si j'insert de nouvelles lignes dans mon 1er tableau de base, l'insertion foire complétement.
    Il faudrait qu'excel prenne en compte le nombre variante de ligne de mon tableau et insert le suivant en dessous.
    Si le tableau est fixe cela marche impeccablement sinon.

    A moins qu'il faut que j'incrémente ma macro de base avec ton code. Mais cela fonctionne pas (je le fait peut etre mal).


    Merci encore,

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Par défaut
    Oups je suis désolé je n'ai rien dit. Cela marche très bien en faite. Il suffit que j'utilise pas le 1er tableau. Il sert de base vierge à ne pas toucher.
    Un grand merci. Je suis impressionné de comment tu as simplifier le code

    Pour aller plus loin, est il envisageable de créer une option de tri de tableau à l'aide d'un msgbox?

    Elle marcherais de cette maniere :
    - 1ère fenêtre, La msgbox me demande un code (qui ce trouve dans une des cellules d'un des tableaux. J'entre le code et clique sur ok.
    - La 1ère fenêtre ce ferme et ouvre une seconde qui m'affiche le tableau correspondant au code.

  6. #6
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    RE

    Je ne pige pas trop.

    Peux-tu donner un exemple concret quelle cellule, quelle valeur...

    Cette valeur n’existera qu'une dois dans l'onglet ? Il faut se déplacer sur ce tableau ? Tu parles de fenêtre mais tout est dans un onglet...

    Si un tableau est supposé s'allonger il est totalement inutile de créer plus d'une ligne. La saisie l'allongera...

    Ton utilisation des tableaux est peu conforme et la duplication créer de tas de noms : l'exploitation statistique en aval le cas échéant risque d'être impossible...

Discussions similaires

  1. [XL-2010] Problème macro pour tableau délai
    Par ThoGui63 dans le forum Excel
    Réponses: 5
    Dernier message: 09/11/2017, 11h28
  2. Réponses: 1
    Dernier message: 20/04/2009, 15h26
  3. [FPDF] problème avec les images dans un tableau dynamique
    Par GADSN dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 08/04/2009, 11h11
  4. Réponses: 3
    Dernier message: 03/07/2007, 15h17
  5. Réponses: 10
    Dernier message: 24/05/2007, 09h27

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