AJUSTEMENT FORMULE par VBA

Bonjour à tous,

J'aimerais avoir de l'aide, je m'explique.

J'ai un fichier (ci-joint "base").

J'ai une base avec un TCD et a côté du TCD j'ai mis des formules jusque 600 lignes (TCD PEAGE, TCD VG ,TCD V9 mais formules se trouve ou il est écrit à copier pour intégration) pour que quand j'actualise mon TCD mes formules s'appliques.

Je voudrais passer par une macro pour que mes formules s'ajuste a mon TCD quand je l'actualise.

Ainsi je n'aurais plus 600 lignes de formules et se serais bien plus pratique.

Tout seul je n'est pas arriver à trouver, en VBA je suis débutant

Je ne c'est pas si cela est possible mais si quelqu'un à une solution merci d'avance pour votre aide.

11base.xlsm (245.43 Ko)

Bonjou

Oui c'est possible ... mais ta demande est curieuse quand même, il y a d'autres solutions à ta disposition, plus professionnelles, comme powerquery ou les champs calculés d'un tcd

Je regarde dans la version demandée pour te guider

Voici pour V9

à toi à le reproduire pour les autres onglets

si tu as besoin d'explications n'hésite pas

Private Sub Worksheet_Activate()

    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
    derL = Cells(Rows.Count, "H").End(xlUp).Row
    Range("H5:N" & derL).ClearContents
    derL = Cells(Rows.Count, "A").End(xlUp).Row
    Range("H4:N4").Select
    Selection.AutoFill Destination:=Range("H4:N" & derL), Type:=xlFillDefault

End Sub

Michel ... 59 (de naissance et de cœur)

9base.xlsm (198.88 Ko)

Merci pour tous j'ai réussi les autres onglets.

Cependant l'onglet V9 marche plus et je sais pas pourquoi.(j'ai remis la base)

Je remet un fichier (dernière ligne) je voudrais que le code fonctionne si dans le TCD il n'a pas de ligne comme en V9 qui me met la dernière ligne quand même.

Pour powerquery je ne connais pas si je pourrais le faire je le ferais je vais faire des recherche dans ce sens.

Merci pour ton aide

5derniere-ligne.xlsm (201.72 Ko)
4base-1.xlsm (111.51 Ko)

ok

essaie ceci

Private Sub Worksheet_Activate()

    ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotCache.Refresh
    derL = Cells(Rows.Count, "H").End(xlUp).Row
    If derL > 5 Then Range("H5:N" & derL).ClearContents
    derL = Cells(Rows.Count, "A").End(xlUp).Row
    Range("H4:N4").Select
    If derL > 4 Then Selection.AutoFill Destination:=Range("H4:N" & derL), Type:=xlFillDefault

End Sub

Merci beaucoup,

Tout marche c'est nickel.

Par contre j'ai essayer de le reproduire sur ce fichier mais sa ne marche pas car il y a un 3eme TCD.

Tous marche sauf le dernier TCD (peage V0) sa écrit débogage, il reconnais pas Tableau croisé dynamique 3.

Si tu pourrais m'aider.

Pourrais-tu aussi m'expliquer chaque ligne si tu à le temps de ton code

Merci pour ton aide et ton boulot, j'espère un jour je pourrais savoir en faire plus et aider à mon tour.

8base-carb.xlsm (157.38 Ko)

ton tableau s'appelle Tableau croisé dynamique1

et donc :

Private Sub Worksheet_Activate()

    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotCache.Refresh
    derL = Cells(Rows.Count, "I").End(xlUp).Row
    If derL > 5 Then Range("I5:O" & derL).ClearContents
    derL = Cells(Rows.Count, "A").End(xlUp).Row
    Range("I4:O4").Select
    If derL > 4 Then Selection.AutoFill Destination:=Range("I4:O" & derL), Type:=xlFillDefault

End Sub

Merci pour tout,

Je vais tester un peu pour voir.

Je vais regarder avec powerquery comme tu ma conseiller si je peut faire quelque chose

Merci encore

Rechercher des sujets similaires à "ajustement formule vba"