IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA EXCEL - Sélection d'une ligne suivant saisie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Normal !
    ActiveChart.SeriesCollection(1).Values = "=" & MaPlage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("ChartO1").DrawingObject.Chart.SeriesCollection(1).Values = "=Feuil1!" & MaPlage
    Essaie de sélectionner ton Chart et ta feuille pour faire ça.

    A+

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Dim NumeroLigne As Integer
    Dim MaPlage As Range
    Range("A6:A2000").Select
    Selection.Find(what:=Range("B1").Value, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
    ActiveCell.Select
        ActiveWindow.Visible = False
        Windows("Copie de +10 Centre.xls").Activate
      Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16)).Select
      NumeroLigne = ActiveCell.Row
    Set MaPlage = Worksheets("consolidation").Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16))
        Charts.Add
        With Chart
        ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
            "Courbes - Histogramme"
            ActiveChart.SetSourceData MaPlage, PlotBy:=xlRows
            ActiveChart.SeriesCollection(1).Delete
            ActiveChart.SeriesCollection.NewSeries
            ActiveSheet.Shapes("Graph10").DrawingObject.Chart.SeriesCollection(1).Values = "=consolidation" & MaPlage
            ActiveChart.SeriesCollection(1).Name = "=consolidation!R4C5"
            ActiveChart.SeriesCollection(1).XValues = _
            "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
        End With
         With ActiveChart
            .HasTitle = False
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
            .Axes(xlCategory, xlSecondary).HasTitle = False
            .Axes(xlValue, xlSecondary).HasTitle = False
        End With
        ActiveChart.HasLegend = False
        ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
        ActiveChart.HasDataTable = True
        ActiveChart.DataTable.ShowLegendKey = True
    End Sub
    Erreur 13 incompatibilité de type

    Tjs pareil

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Si consolidation est le nom de ta feuille, dans cette ligne,

    ActiveSheet.Shapes("Graph10").DrawingObject.Chart.SeriesCollection(1).Values = "=consolidation" & MaPlage
    tu as oublié !

    Je ne suis pas allé plus loin pour le moment...

    Tu dis

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    Comprends pas, j'ai bien écrit cette ligne comme toi!!!!

  5. #5
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Je traduis:
    Tu as oublié "le point d'exclamation".
    Non, tu ne l'as pas écrite comme Ousk'.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Faut tout leur dire à ces jeune...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    vous avez raison faut vraiment tout leur dire

    J'ai encore imcompatibilité 13 même avec !
    change rien

  8. #8
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    J'ai encore une question: le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NumeroLigne = ActiveCell.Row
    il doit bien correspondre à la cellule qui a été trouvé par le .Find, non?
    Alors pourquoi le fais-tu après avoir fait un autre select ailleurs?
    Mais cette ligne juste après le .Activate sur la cellule trouvé par le .Find.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    Voilà c'est fait,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Public Sub SelectionAdheren()
    Dim NumeroLigne As Integer
    Dim MaPlage As Range
    Range("A6:A2000").Select
    Selection.Find(what:=Range("B1").Value, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
        NumeroLigne = ActiveCell.Row
        ActiveCell.Select
        ActiveWindow.Visible = False
        Windows("Copie de +10 Centre.xls").Activate
      Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16)).Select
    Set MaPlage = Worksheets("consolidation").Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16))
        Charts.Add
                ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
            "Courbes - Histogramme"
            ActiveChart.SetSourceData MaPlage, PlotBy:=xlRows
            ActiveChart.SeriesCollection(1).Delete
            ActiveChart.SeriesCollection.NewSeries
            Windows("Copie de +10 Centre.xls").Activate
            ActiveSheet.Shapes("Graph10").DrawingObject.Chart.SeriesCollection(1).Values = "=consolidation!" & MaPlage
            ActiveChart.SeriesCollection(1).Name = "=consolidation!R4C5"
            ActiveChart.SeriesCollection(1).XValues = _
            "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
          With ActiveChart
            .HasTitle = False
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
            '.Axes(xlCategory, xlSecondary).HasTitle = False
            '.Axes(xlValue, xlSecondary).HasTitle = False
        End With
        ActiveChart.HasLegend = False
        ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
        ActiveChart.HasDataTable = True
        ActiveChart.DataTable.ShowLegendKey = True
    End Sub
    mais j'ai tjs l'erreur sur
    ActiveSheet.Shapes"Graph10").DrawingObject.Chart.SeriesCollection(1).Values = "=consolidation!" & MaPlage

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai encore imcompatibilité 13 même avec
    Sur la même ligne ?

    A+

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    oui

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Mais c'est tout faux !

    Set MaPlage = Worksheets("consolidation").Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16))
    Essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Plage = Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16)).Address
            Set MaPlage = Worksheets("consolidation!" + Plage)
    Après ? Je mange ma casquette !

    A+

  13. #13
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et une fois que tu as mis "numeroLigne" au bon endroit, il faut t'en servir!
    Si tu remplaces les ActiveCell.Row qui suivent par "NumeroLigne", ça devrait s'arranger, et tu finiras par indiquer les zones que tu veux pour ton graphe.

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    erreur 9 l'indice n'appartient pas à la sélection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set MaPlage = Worksheets("consolidation!" + Plage)
    mon but est mettre comme valeur à ma serie 1 le premier, le cinquième et le neuvième élément de plage

    comment faire?

    Décidément je suis vraiment à la ramasse!

  15. #15
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Ok, alors ce que je t'ai donné ne peux pas marcher...
    Ça y est, je n'ai plus de casquette !

    Je reufléchis

    A+

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'ai fait ça en enregistrant la macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Charts.Add
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Sheets("Filieres").Range( _
            "K26,K30:K31,K33,K36,K38"), PlotBy:=xlColumns
    Si tu peux adapter... Remarque le "Sheets(NomDeLaFeuille)"

    A+

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    même en changeant la place de la parenthèse
    j'ai tjs erreur 9

  18. #18
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Et tu as remplacé les ActiveCell.Row par NumeroLigne?
    Quand je pense que je suis entrain de m'arracher le peu de cheveux qui me restent...
    Et si tu affiches dans des messages box le string que tu construis pour désigner tes zones, elles sont bonnes?

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Par défaut
    voila new code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    Public Sub SelectionAdheren()
    Dim NumeroLigne As Integer
    Dim MaPlage As Range
    Range("A6:A2000").Select
    Selection.Find(what:=Range("B1").Value, After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
        NumeroLigne = ActiveCell.Row
        ActiveCell.Select
        ActiveWindow.Visible = False
        Windows("Copie de +10 Centre.xls").Activate
      Range(Cells(NumeroLigne, 5), Cells(NumeroLigne, 16)).Select
    Plage = Range(Cells(NumeroLigne, 5), Cells(NumeroLigne, 16)).Address
    plage1 = Range(Cells(NumeroLigne, 5), Cells(NumeroLigne, 5)).Address
    plage2 = Range(Cells(NumeroLigne, 9), Cells(NumeroLigne, 9)).Address
    plage3 = Range(Cells(NumeroLigne, 13), Cells(NumeroLigne, 13)).Address
            Set MaPlage = Worksheets("consolidation!") + Plage
            Charts.Add
                ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
            "Courbes - Histogramme"
            ActiveChart.SetSourceData MaPlage, PlotBy:=xlRows
            ActiveChart.SeriesCollection(1).Delete
            ActiveChart.SeriesCollection.NewSeries
            Windows("Copie de +10 Centre.xls").Activate
          '  ActiveSheet.Shapes("Graph10").DrawingObject.Chart.SeriesCollection(1).Values = "=consolidation!" & MaPlage
            ActiveChart.SeriesCollection(1).Name = "=consolidation!R4C5"
            ActiveChart.SeriesCollection(1).Values = _
            "=(consolidation!plage1,consolidation!plage2,consolidation!plage3)"
                    ActiveChart.SeriesCollection(1).XValues = _
            "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
          With ActiveChart
            .HasTitle = False
            .Axes(xlCategory, xlPrimary).HasTitle = False
            .Axes(xlValue, xlPrimary).HasTitle = False
            .Axes(xlCategory, xlSecondary).HasTitle = False
            .Axes(xlValue, xlSecondary).HasTitle = False
        End With
    tjs pb avec ligne set MaPlage

  20. #20
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello, brethomeau,
    Tu ne m'en voudra pas mais pour ce soir, je te laisse en tête-à-tête avec Magaxel, si je tarde trop à rentrer, j'ai peur d'attraper froid à la tête...

    Bon courage vous deux

    A+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [FAQ VBA Excel] Somme d'une ligne d'un tableau sur un classeur fermé
    Par nox1492 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/12/2007, 12h54
  2. Réponses: 2
    Dernier message: 27/09/2006, 19h41
  3. Réponses: 7
    Dernier message: 11/08/2006, 14h26
  4. [VBA-E]Comment mettre une ligne entière d'un fichier excel en gras ?
    Par pauletta22 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/05/2006, 08h23
  5. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo