Comparer valeurs

  • Initiateur de la discussion piep14
  • Date de début
P

piep14

Guest
Bonjour, le problème du jour

J'ai deux colonnes avec dans la premiere des valeurs de 10 -> 95 et dans la seconde qui est en concoordance à la premiere des valeurs diverses de 0 à XX.

Je souhaite faire une comparaison pour ne réafficher que les lignes ne contenant pas de valeur 0

Voir l'exemple dans la piece jointe de ce que j'aimerais obtenir !

Tout ceci pour me permettre de fabriquer un graphique sans les lignes contenant les 0
 

piep14

XLDnaute Occasionnel
Alors je pense que ce sera ma dernière question :


Comme on peut le voir, j'ai joins a nouveau le fichier, et on peut voir que je sélectionne la derniere ligne de la colonne M. Car pour faire mon graphique, je souhaite pour toutes les valeurs contenues dans les deux colonnes.

J'ai donc fais une macro qui se présente ainsi :




Code:
Sub Graphique()
'
' Graphique Macro
' Macro enregistrée le 25/03/2005 par PIEPLU
'

'
    Dim DerLgn As Integer
    DerLgn = Range('O18').Select
    
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets('Feuil1').Range('L2:M' & DerLgn), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:='Feuil1'
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = 'Classement par Rayon'
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveWindow.Visible = False

End Sub

Mais cela pose problème ????? Mais je ne vois pas où !!! [file name=Copie de PetiteValeurSiPiepV2_20050325124138.zip size=8918]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Copie de PetiteValeurSiPiepV2_20050325124138.zip[/file]
 

Pièces jointes

  • Copie de PetiteValeurSiPiepV2_20050325124138.zip
    8.7 KB · Affichages: 18

Hervé

XLDnaute Barbatruc
Bonjour

Dans ton code tu fais référence à la cellule O18, or cette cellule ne contient aucune données, d'ou le bug.

Tu devrais faire référence à la cellule R2, qui elle contient le numéro de la dernière ligne utilisé dans la colonne M.

DerLgn = Range('R2')

Ne la sélectionne pas.

A plus
 

piep14

XLDnaute Occasionnel
Oui mais en faite j'avais déjà changer mais cela ne change rien

Code:
Sub Graphique()
'
' Graphique Macro
' Macro enregistrée le 25/03/2005 par PIEPLU
'

'
    Dim DerLgn As Integer
    DerLgn = Range('R2').Select
    
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets('Feuil1').Range('L2:M' & DerLgn), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:='Feuil1'
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = 'Classement par Rayon'
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveWindow.Visible = False

End Sub
 

Hervé

XLDnaute Barbatruc
re

dans mon précédent message je t'écrit : ne la sélectionne pas, et je te met le code : DerLgn = Range('R2')

Et toi tu la sélectionne, :)

utilise juste : DerLgn = Range('R2')

ainsi tu initialises ta variable derlgn, ou si tu veux faire référence à la cellule R2 comme cellule active :

range('R2').select

......

ActiveChart.SetSourceData Source:=Sheets(\\'Feuil1\\').Range(\\'L2:M\\' &
activecell), PlotBy _

voilà

a plus
 

piep14

XLDnaute Occasionnel
AHhhhhhhhhhhhhhhh excuse moi, mais je suis content tout marche comme je le souhaiter !!!! Vous étes super geniaux

Ah non, je viens de voir qu'il reste un dernier trucs a faire. Quand j'executer la macro, j'aurais aimé remplacer l'autre graphique

Message édité par: piep14, à: 25/03/2005 17:57
 

Hervé

XLDnaute Barbatruc
re

voici ta macro modifiée, la taille du graphique est gérée par ScaleWidth et ScaleHeight, modifie ces valeurs pour atteindre la taille désirée.


Code:
Sub Graphique()

ActiveSheet.ChartObjects.Delete

    
    Dim DerLgn As Integer
    DerLgn = Range('R2')
    
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets('Feuil1').Range('L2:M' & DerLgn), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:='Feuil1'
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = 'Classement par Rayon'
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveWindow.Visible = False
    ActiveSheet.Shapes(Selection.Name).ScaleWidth 1.21, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes(Selection.Name).ScaleHeight 1.29, msoFalse, msoScaleFromTopLeft
End Sub

A plus
 

Hervé

XLDnaute Barbatruc
Bonjour

Réponse tardive, désolé.


Macro modifié pour que le graphique apparaisse en haut à gauche du tableau.

Code:
 Sub Graphique()

ActiveSheet.ChartObjects.Delete

    
    Dim DerLgn As Integer
    DerLgn = Range('R2')
    
    Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets('Feuil1').Range('L2:M' & DerLgn), PlotBy _
        :=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:='Feuil1'
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = 'Classement par Rayon'
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveWindow.Visible = False
    ActiveSheet.Shapes(Selection.Name).ScaleWidth 1.21, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes(Selection.Name).ScaleHeight 1.29, msoFalse, msoScaleFromTopLeft
    ActiveSheet.Shapes(Selection.Name).IncrementLeft -184.5
    ActiveSheet.Shapes(Selection.Name).IncrementTop -99.75
End Sub

En fait la méthode est simple : on crée le graphique puis on le déplace par IncrementLeft et IncrementTop, à toi de faire varié ces valeurs pour le placer exactement ou tu veux.

Salut
 

Discussions similaires

Statistiques des forums

Discussions
312 715
Messages
2 091 267
Membres
104 827
dernier inscrit
manu piret