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 :

Remplir les blancs d'un tableau croisé dynamique


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Remplir les blancs d'un tableau croisé dynamique
    Bonjour, a partir d'un fichier excel je créé un tableau croisé dynamique.

    Ce tableau est copié dans un nouvel onglet, et je souhaite remplir tous les blancs de ce tableau grâce a une macro (pour l'intégrer a une base de donnée access).

    Donc pour mon code j'ai résonné comme suit: Test de chaque case du tableau du haut vers le bas, colonne par colonne (7 colonnes pour 3306 lignes)
    Si la case testée est vide, il copie celle du dessus. Malheureusement cela ne fonctionne pas du tout (erreurs diverses et variées selon le code testé)
    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
    Sub Bouton1_QuandClic()
     
    Worksheets("Final").Activate
    ActiveSheet.UsedRange.Select
     
    Dim i, j, n, m As Integer
        n = 3306
        m = 7
     
        For j = 1 To m
            For i = 2 To n + 1
     
                Range("A1").Offset(i, j).Select
     
                If IsEmpty(Selection) Then
                Range("A1").Offset(i - 1, j).Select
                Selection.Copy
                Range("A1").Offset(i, j).Select
                ActiveSheet.Paste
            Next i
        Next j
     
    End Sub
    Avez-vous une idée ? Je précise que je suis débutant (ça se voit non? :p)
    Merci d'avance

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 493
    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 493
    Points : 16 404
    Points
    16 404
    Par défaut
    Bonjour

    Ce type de manip n'est pas faisable manuellement donc pas plus par VBA.

    Il faut copier les valeurs ailleurs en les complétant et non pas tenter de modifier le TCD.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2010
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    Bonjour,

    c'est bien ce que j'ai fait : j'ai copié l'intégralité du tableau dans un nouvel onglet pour pouvoir le modifier (je peux le modifier manuellement). Mais mon code ne fonctionne pas :/

Discussions similaires

  1. [XL-2007] occulter les "ZERO" dans un tableau croisé dynamique
    Par canichon dans le forum Conception
    Réponses: 0
    Dernier message: 26/11/2010, 09h23
  2. Rafraîchir les filtres d'un tableau croisé dynamique
    Par Flower123 dans le forum Excel
    Réponses: 8
    Dernier message: 07/09/2009, 16h54
  3. Afficher les details d'un tableau croisé dynamique
    Par selfful dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/03/2008, 11h08
  4. Réponses: 1
    Dernier message: 05/07/2007, 18h28
  5. Réponses: 3
    Dernier message: 13/04/2007, 10h04

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