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

[vba] pb de condition

R

Ronan

Guest
Salut a tous,

Voici une macro réalisant un graphique :


Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ 
        'Feuil1!R1C1:R' & A & 'C4').CreatePivotTable TableDestination:='', TableName:= _ 
        'Tableau croisé dynamique1' 
    
         
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) 
    ActiveSheet.Cells(3, 1).Select 
    ActiveSheet.PivotTables('Tableau croisé dynamique1').SmallGrid = False 
     
    ActiveSheet.PivotTables('Tableau croisé dynamique1').AddFields RowFields:= _ 
    W, ColumnFields:=Y, PageFields:=X 
     
    ActiveSheet.PivotTables('Tableau croisé dynamique1').PivotFields(Z). _ 
        Orientation = xlDataField 
 
     
    Charts.Add 
     
    ActiveChart.SetSourceData Source:=Sheets('Feuil2').Range('A3') 
    ActiveChart.Location Where:=xlLocationAsNewSheet 
    Application.CommandBars('PivotTable').Visible = False 
     
    If F = 'nombre' Then 
        ActiveChart.PivotLayout.PivotFields('Moyenne ' & Z).Function = xlStDevP 
        End If

La variable F est une variable de type string qui récupere un mot dans une case. Je teste et ici la condition est si F = 'nombre' alors je veux que le graphique soit sous la forme xlStDevP

Mais ceci ne marche pas !
Pourquoi ??
 
R

Ronan

Guest
Merci Pascal76 de ton aide

J'ai essayé mais ca me met une erreur de syntaxe!

La solution qui , a priori, marche est de reprendre le bloc en entier (c'est a dire toute la macro) en mettant juste la condition en 1ere ligne!!! Vue j'ai j'ai quelques condition a respecter, ma macro final pourrait faire un nombre important de lignes, ce n'est pas l'idéal!!

Pourtant ma technique avec le IF devrait marcher !! c'est bizarre !
 
R

Ronan

Guest
C'est peut etre un probleme seulement du a la ligne car le message d'erreur est une erreur d'execution '1004' Erreur définie par l'application ou par l'objet.
Mais je ne voit pas d'ou peut provenir l'erreur !!
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Ronan, Pascal le Forum

A priori si ta Variable 'F' est bien de Type String, tu peux utiliser l'Opérateur like suggéré par Pascal.

Tu noteras aussi 'Option Compare Text' (pour la Casse' est aussi les * ...



Pour les reste, je n'ai pas du tout regardé, et je ne peux pas me mettre de toute manière dans le Contexte de ce Code.

Bonne Journée
@+Thierry
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…