Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplir les blancs d'un tableau croisé dynamique

  • Initiateur de la discussion Initiateur de la discussion jdelater
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jdelater

XLDnaute Nouveau
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:
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

Veuillez trouver ci-joint un morceau choisi du fichier: le tableau tel qu'il est en onglet 1, et tel que je le souhaites en onglet2.

Avez-vous une idée? Merci d'avance
 

Pièces jointes

Re : Remplir les blancs d'un tableau croisé dynamique

Bonjour,

Il me semble bien qu'il est impossible de changer une donnée résultante du TDC.

Tu à essayé de commencer par copier le TDC et ensuite tu aura tout les droits.
 
Re : Remplir les blancs d'un tableau croisé dynamique

En effet, désolé.

Donc tu à une erreur de next sans for, vu l'aide :

Il te suffit de mettre End If :


Code:
Sub test()
Dim i, j, n, m As Integer
    n = 10
    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
            End If
        Next i
    Next j
 
End Sub
 
Re : Remplir les blancs d'un tableau croisé dynamique

incroyable!!! j'avais fait des tas d'essais, en mettant le End If également mais surement pour d'autres codes... en tout cas, ça fonctionne très bien!

Reste quelques petits soucis a régler mais merci beaucoup Kiseki!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
652
Réponses
3
Affichages
585
Réponses
3
Affichages
677
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…