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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut VBA EXCEL - Sélection d'une ligne suivant saisie
    Bonjour,
    J'aimerai rechercher une ligne contenant la valeur de la cellule B1 dans le reste de la feuille et selection cette ligne (pas entière juste les non vide).
    Ensuite réaliser le graphique de la sélection sur une autre page.
    Pouvez-vous me donner une idée de code.

    Merci

  2. #2
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Oui: regarde l'aide de la fonction "Find".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Voici mon code, Ce qui m'ennuie est ce qui est en gras
    comment lui faire passer les cellules sélectionnées avant et non pas des figées E3333

    Merci pour aide

    Sub SelectionAdheren()
    Dim r1 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
    'Windows("Copie de +10 Centre.xls").SmallScroll Down:=8
    ActiveWindow.Visible = False
    Windows("Copie de +10 Centre.xls").Activate
    ' Range("E3333").Select
    Range(ActiveCell(1, 5), ActiveCell(1, 16)).Select
    r1 = Range(ActiveCell(1, 5), ActiveCell(1, 16))
    Charts.Add
    ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
    "Courbes - Histogramme"
    ' ActiveChart.SetSourceData Source:=Sheets("consolidation").Range("E3333"), _
    PlotBy:=xlRows

    ActiveChart.SetSourceData Source:=Sheets("consolidation").activecellSelection, _
    PlotBy:=xlRows
    ' ActiveChart.SeriesCollection(1).Delete
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Values = _
    "=(consolidation!RC5,consolidation!RC9,consolidation!RC13)"
    ActiveChart.SeriesCollection(1).Name = "=consolidation!R4C5"
    ActiveChart.SeriesCollection(2).Values = _
    "=(consolidation!RC7,consolidation!RC11,consolidation!RC15)"
    ActiveChart.SeriesCollection(2).Name = "=consolidation!R4C7"
    ActiveChart.SeriesCollection(3).Values = _
    "=(consolidation!RC6,consolidation!RC10,consolidation!RC14)"
    ActiveChart.SeriesCollection(3).Name = "=consolidation!R4C6"
    ActiveChart.SeriesCollection(4).Values = _
    "=(consolidation!RC8,consolidation!RC12,consolidation!RC16)"
    ActiveChart.SeriesCollection(4).Name = "=consolidation!R4C8"
    ActiveChart.SeriesCollection(1).XValues = _
    "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
    ActiveChart.SeriesCollection(2).XValues = _
    "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
    ActiveChart.Location Where:=xlLocationAsNewSheet
    With ActiveChart
    .HasTitle = False
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveChart.HasLegend = False
    ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
    ActiveChart.HasDataTable = True
    ActiveChart.DataTable.ShowLegendKey = True
    End Sub

  4. #4
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Citation Envoyé par brethomeau
    Voici mon code, Ce qui m'ennuie est ce qui est en gras
    comment lui faire passer les cellules sélectionnées avant et non pas des figées E3333

    Merci pour aide

    ....
    Salut,

    Pourrais-tu utiliser les balises pour plus de clareté stp

    Merci

    Théo

  5. #5
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Je ne comprend pas bien: ta zone E3333 , comment veux-tu la déterminer si elle n'est pas fixe?
    Il faut au moins que tu puisses la repérer, par le titre d'une colonne, par exemple...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Range(ActiveCell(1, 5), ActiveCell(1, 16)).Select

    a partir de ma recherche find préalable

  7. #7
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Il-y-a un truc que je ne comprend pas. C'est quoi :
    "ActiveCell", c'est LA cellule active, et Cells(1,5), c'est E1 (ligne 1, colonne 5), mais ActiveCell(1,5)...??????

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    c'est la plage ligne sur laquelle je me trouve, colonne 5 à 16

    comment pourrait-on traduire autrement

    Merci

  9. #9
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range(Cells(ActiveCell.Row,5),Cells(ActiveCell.Row,16))

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    merci beaucoup
    mais toujours un pb avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     ActiveChart.SetSourceData Source:=Worksheets("consolidation").Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16)), _
            PlotBy:=xlRows
    il plante sur Range(Cells(ActiveCell.Row, 5), Cells(ActiveCell.Row, 16))

    pourquoi?

  11. #11
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Ha oui, il doit perdre les pédales entre les onglets.
    En fait, dès que tu as trouvé ta cellule référence, ton ActiveCell, place son numéro de ligne dans une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    NumeroLigne = ActiveCell.Row
    Et ensuite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ActiveChart.SetSourceData Source:=Worksheets("consolidation").Range(Cells(NumeroLigne, 5), Cells(NumeroLigne, 16)), _ 
    PlotBy:=xlRows
    Sinon, pour les balises de code, c'est vraiment NON, tu REFUSES de les utiliser? Parce que les gens de ce forum, et moi en particulier, pourraient bien REFUSER de t'aider à l'avenir.

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    Hello Brethomeau,
    Megaxel a encore raison...
    En effet, quand tu es sur ton char (hi hi) bref, ta cellule n'est plus active, tu ne peux donc pas utiliser activecell.

    Juste pour mettre mon grain de megasel

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Merci,
    Je vais veuillez à utiliser les balises

    Ciao

  14. #14
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Heu, bonne idée, pour les balises, mais à part ça, ça marche, maintenant?
    :

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    oui mais autre problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    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
            ActiveChart.SeriesCollection(1).XValues = _
            "=(consolidation!R3C5,consolidation!R3C9,consolidation!R3C13)"
            ActiveChart.SeriesCollection(1).Name = "=consolidation!R4C5"
            ActiveChart.SeriesCollection(1).Values = "=" & MaPlage
    erreur 13

    Pourquoi?

  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
    Points : 15 546
    Points
    15 546
    Par défaut
    Sur quelle ligne ?

    A tout'

  17. #17
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    C'est quoi, une erreur 13?
    Et sur quelle ligne est-elle soulevée, cette erreur?

  18. #18
    Membre expérimenté 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
    Points : 1 405
    Points
    1 405
    Par défaut
    Et c'est bizarre, ta déclaration de XValue de la série 1. Il y a 3 cellules. C'est normal?

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Désolé, je n'ai pas préciser mais mon erreur est sur la derniere ligne.

    ActiveChart.SeriesCollection(1).Values = "=" & MaPlage

    Cette ligne devrait me sortir trois valeurs .

  20. #20
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    L'erreur c'est imcompatibilité de type.

    Oui c'est normal que x est trois valeurs ce sont mes années

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 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