Macro Probleme Rafraichissement TCD

  • Initiateur de la discussion Initiateur de la discussion sim
  • 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 !

sim

XLDnaute Occasionnel
Bonjour a toutes et a tous!!!

Voici le code d'une macro active par un bouton

Apres test, cette partie du test ne fonctionne pas

Code:
Workbooks("Pb_refresh_tcd.xls").RefreshAll

Donc le processus
Dans Home!
Un premier bouton qui vide GMRB_Raw_Data! et suprime FX!
Un deuxieme bouton qui Cree FX! avec les nouvelle donnee de GMRB_Raw_Data

Dans Current_market!
4 TCD qui devrai se mettre a jour apres cick sur le bouton qui cree FX, comme l'indiaue le code ci dessous

Du coup voici le code complet et un fichier exemple pour donner un peu plus de consistence a ma demande.

Code:
Private Sub acceuil_Click()
  Application.ScreenUpdating = False
  Sheets("GMRB_Raw_Data").Copy Before:=Sheets(3)
  On Error Resume Next
 ActiveSheet.Name = "FX"
 ActiveWorkbook.Names.Add Name:="MaListe", RefersToR1C1:= _
    "=OFFSET(FX!R1C1,0,0,COUNTA(FX!C1),14)"
  If Err.Number <> 0 Then
    Application.DisplayAlerts = 0
    ActiveSheet.Delete
    Application.DisplayAlerts = 1
    Sheets("FX").Activate
    Exit Sub
  End If
  On Error GoTo 0
  supp
  Workbooks("Pb_refresh_tcd.xls").RefreshAll
  Sheets("Current_market").Range("A6") = Sheets("GMRB_Raw_Data").Range("A2")
End Sub

J'espere que quelqu'un pourras m'aider parce que si cette fonction mise a jour des tcd, c'est une grosse partie de l'application qui tombe a l'eau!!! 😱

Merci d'avance!!😀

Cordialement

Sim
 

Pièces jointes

Re : Macro Probleme Rafraichissement TCD

Re,

c'est passé chez moi, mais un peu long... attention tu as une procédure :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

dans le module de cette feuille, ceci explique sans doute cela....
 
Re : Macro Probleme Rafraichissement TCD

Je suissssssss contenttttt vous pouvez pas savoir!!! 😀

Au lieu, de changer le nom de la source des TCD dans le Pivot Table Wizzard qui me faisait tout bugguer
j'ai changer le code qui definit le nom, par la formule decaler tel que:

Code:
 ActiveWorkbook.Names.Add Name:="basetcdauto", RefersToR1C1:= _
    "=OFFSET(FX!R1C1,0,0,COUNTA(FX!C1),14)"

Merci, tout fonctionne parfaitement!!!

Je joint le fichier terminer pour ceux que ca interesse

Merci beaucoup!! 🙂

Cordialement.

Sim
 

Pièces jointes

Re : Macro Probleme Rafraichissement TCD

Pierrot, JCGL, le forum

Il y a un probleme au final.....lol

Le code suivant ne veut pas fonctionner, mais aucun message d'erreur de la part d'excel ou de VBA

Code:
Private Sub ThisWorkbook_Open()
    Sheets("Home").Activate
    Range("A1").Select
End Sub

PS: j'ai changer le nom du classeur en ThisWorkbook

C'est pas normal non??

Cordialement.

Sim
 
Re : Macro Probleme Rafraichissement TCD

JCGL, Pierrot, le forum

Haaaa, c'est la que je vois que je n'ai pas les connaissances de base....🙄

J'aimerai vous demander un petit service..:

Pourriez vous regarder dans le code du UserForm, car comme Pierrot me l'a conseiller j'ai rechanger le nom du classeur en ThisWorkbook et j'ai donc changer les ligne ou apparaisse le nom du workbook tel que:

Code:
Private Sub TextBox1_Change()
    ListBox1.Clear
    For Each Cel In [B]ThisWorkbook[/B].Worksheets("Markets_GI").Range("No")
        If LCase(Cel.Value) Like TextBox1.Text & "*" Then
            ListBox1.AddItem Cel.Value
        End If
    Next Cel
End Sub

Private Sub UserForm_Initialize()
Dim Cel As Range
    ListBox1.Clear
    For Each Cel In [B]ThisWorkbook[/B].Worksheets("Markets_GI").Range("No")
        If Cel.Value <> "" Then
            ListBox1.AddItem Cel.Value
        End If
    Next Cel
End Sub


Merci d'avance...

Sim
 
Re : Macro Probleme Rafraichissement TCD

JCGL, Pierrot, le forum,

Pierrot93 post #6

pas top non plus d'avoir, renommé "thisworkbook", je l'avais déjà précisé....

J'avais renomme dans l'explorateur de projet VBA, a l'aide de /proprietes le nom du "thisworkbook" en "workbook"

Donc comme Pierrot me le disait, j'ai rechanger tout ca et readapte le code ci dessus (j'ai essayer de mettre en gras ce que j'avais changer mais apparament pas possible metrre des balises a l'interieur d'autre balise)

Je voulais juste savoir si c'etait ce qu'il fallait faire....😕

Cordialement.

Sim
 
Re : Macro Probleme Rafraichissement TCD

Pierrot, le forum

J'ai beau changer de place le code permetant de selectionner en fin de procedure

pour le bouton Update preparation la cellule A1 de GMRB_Raw_Data
Pour le bouton Uptade la cellule A1 de Current_market

Bouton Update Preparation
Code:
FeuilleFXPresente:
    Sheets("FX").Delete
    Sheets("GMRB_Raw_Data").Select
    ActiveWorkbook.Worksheets("GMRB_Raw_Data").Cells.ClearContents
    Range("A1").Select
End Sub


Bouton Update

Code:
Sheets("Current_market").Range("A6") = Sheets("GMRB_Raw_Data").Range("A2")
  Sheets("Current_market").Activate
  Range("A1").Select
  Dim pt As PivotTable
    For Each pt In Sheets("Current_market").PivotTables
        pt.RefreshTable
    Next pt
End Su


Ca devrait fonctionner normalement non?! En tout cas ca fontionne pour le code du "ThisWorkbook" donc, moi pas comprendre....🙁

Cordialement.

Sim
 
Re : Macro Probleme Rafraichissement TCD

Re,

sur une instruction, si tu mets "ActiveWorkbook" ou rien d'aileurs, s'appliquera sur le classeur actif, celui présent à l'écran :
Code:
ActiveWorkbook.Worksheets("GMRB_Raw_Data").Cells.ClearContents

cett même instruction avec "thisworkbook" s'appliquera sur le classeur dans lequel s'exécute le code, que le classeur soit présent à l'écran ou pas :
Code:
ThisWorksheets("GMRB_Raw_Data").Cells.ClearContents

et pour appliquer cette instruction à un autre classeur, non présent à l'écran :
Code:
Workbooks("NomClasseur.xls").Worksheets("GMRB_Raw_Data").Cells.ClearContents
 
Re : Macro Probleme Rafraichissement TCD

Pierrot, le forum,

Merci pour ce mini cours, mais la n;'est pas le soucy.

Dans un soucy d'utilisation j'aimerai que une fois que la macro a supprime FX et vide GMRB_Raw_Data, elle selectionne la cellule A1
de GMRB_Raw_Data

et la meme chose avec la macro qui cree FX mais cette fois ci, elle selectionne la Cellule A1 de Current_market

la meme chose que:

Code:
Private Sub Workbook_Open()
    Sheets("Home").Activate
    Range("A1").Select
End Sub

Mais comme tu le vois dans le code que j'ai mis plus haut, cela ne marche pas....sinon tout tout tout le reste fonctionne.

Cela doit etre un probleme de redaction, ou plutot de syntaxe (pas le bon endroit dans le code des boutons). Maids tout les test que j'ai fait en changeant ce code de place ne fonctionne pas ( declenchement du debogueur)....

J'espere que le probleme est un peu plus clair....🙄

Merci

Sim
 
- 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

Réponses
21
Affichages
2 K
Retour