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 sélection de colonne variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut VBA sélection de colonne variable
    Bonjour,

    Je travaille actuellement sur l'automatisation d'un graphique.
    Ci-dessous les données et le code
    les données de A1 à F2

    A	B	C	D	E	F
    Semaine	1	2	3	4	5
    nbr	0	10	4	6	9
    tous les mois je remplie ma colonne F1 et F2 le mois suivant G1 et G2 et je souhaiterais que mon code tienne compte de cette dernière colonne remplie.
    (qd c'est la ligne qui varie je sais le faire : end(xlup) ... mais qd c'est la colonne qui s'incrémente je suis perdue

    merci de votre aide


    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
    Sub graphique()
     
    Application.ScreenUpdating = False
     
    ThisWorkbook.Sheets("Feuil1").Range("A1:F2").Copy
     
    'créer un nouveau classeur et y coller les données
    Set nouv = Workbooks.Add
    Set pg = nouv.Sheets(1)
    pg.Paste
    pg.Cells(1).PasteSpecial Paste:=xlValues
     
    'tracer le graphique
    Set gr = nouv.Charts.Add
    With gr
    .SetSourceData Source:=Sheets("Feuil1").Range("A2:F2"), PlotBy:=xlRows
     
    '.ChartType = xlLine
    .Location Where:=xlLocationAsNewSheet
    .Axes(xlCategory, xlPrimary).HasTitle = True
    .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "semaines"
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "nombre"
     End With
    Application.ScreenUpdating = True
    Set pg = Nothing
    Set gr = Nothing
    Set nouv = Nothing
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Sub Graphique()
    Dim Nouv As Workbook
    Dim Pg As Worksheet
    Dim NbC As Integer
     
    Application.ScreenUpdating = False
    With ThisWorkbook.Worksheets("Feuil1")
        NbC = .Cells(2, .Columns.Count).End(xlToLeft).Column
        Set Nouv = Workbooks.Add(1)
        Set Pg = Nouv.Worksheets(1)
        Pg.Range("A1").Resize(2, NbC).Value = .Range("A1").Resize(2, NbC).Value
    End With
     
    'tracer le graphique
    With Nouv.Charts.Add
        .ChartType = xlXYScatterLines
        .SetSourceData Source:=Pg.Range("A1").Resize(2, NbC), PlotBy:=xlRows
        With .Axes(xlCategory, xlPrimary)
            .HasTitle = True
            .AxisTitle.Characters.Text = "Semaines"
        End With
        With .Axes(xlValue, xlPrimary)
            .HasTitle = True
            .AxisTitle.Characters.Text = "Nombre"
        End With
    End With
    Application.DisplayAlerts = False
    Nouv.SaveAs ThisWorkbook.Path & "/Graphique_Semaine_" & Format(Pg.Cells(1, NbC), "00"), FileFormat:=xlNormal
    Application.DisplayAlerts = True
    Nouv.Close
    Set Pg = Nothing
    Set Nouv = Nothing
    End Sub

Discussions similaires

  1. Sélection de colonne variable
    Par Viggen0020 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/05/2010, 11h45
  2. [Toutes versions] [VBA] Convertir une chaine en Range pour une sélection de colonnes
    Par Aurelangelo dans le forum Macros et VBA Excel
    Réponses: 34
    Dernier message: 14/04/2009, 15h37
  3. [VBA-E] COUNTIF sur une sélection de plage variable
    Par NiKoS29 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/09/2007, 23h03
  4. problème de sélection de colonne en VBA
    Par tarmin dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 16/11/2006, 13h28
  5. Réponses: 7
    Dernier message: 11/08/2006, 14h26

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