Comment sélectionner la dernière colonne d'une ligne de données?
eglantine217
Messages postés
64
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
Mon objectif serait d'automatiser un graphique excel, j'ai trouvé un super bon tutoriel qui explique cela, le problème est que ma plage de cellule varie tous les mois
exemple début de A1 à C2 mais le mois suivant sera de A1 à D2 et je ne sais pas comment dire en vba "sélectionne la dernière colonne remplit"
lorsque c'est une ligne qui varie j'ai la formule suivante
mais je n'ai pas de formule pour la colonne qui varie (en dessous j'ai posté un code issue d'un tutoriel que j'ai essayé d'adapter"
Mon objectif serait d'automatiser un graphique excel, j'ai trouvé un super bon tutoriel qui explique cela, le problème est que ma plage de cellule varie tous les mois
exemple début de A1 à C2 mais le mois suivant sera de A1 à D2 et je ne sais pas comment dire en vba "sélectionne la dernière colonne remplit"
lorsque c'est une ligne qui varie j'ai la formule suivante
ActiveSheet.Range("a1").End(xlDown).Select
mais je n'ai pas de formule pour la colonne qui varie (en dessous j'ai posté un code issue d'un tutoriel que j'ai essayé d'adapter"
Sub graphique()
Application.ScreenUpdating = False
ThisWorkbook.Sheets("CR").Range("B2:G6").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("A1:F5"), PlotBy:=xlRows
.ChartType = xlLine
.Location Where:=xlLocationAsNewSheet
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "semaine"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "nombre"
.PlotArea.Interior.ColorIndex = 2
.Axes(xlValue).MajorGridlines.Border.LineStyle = xlDot
.ChartArea.Font.Size = 14
.Deselect
End With
Application.ScreenUpdating = True
'faire le ménage
Set pg = Nothing
Set gr = Nothing
Set nouv = Nothing
End Sub
A voir également:
- Vba dernière colonne
- Dernière version ccleaner gratuit français - Télécharger - Nettoyage
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Supprimer dernière page word - Guide
- Colonne word - Guide
2 réponses
Bonjour
plusieurs solutions
1. la dernière colonne (sous forme de nombre) remplie du classeur
2. la dernière colonne (sous forme de nombre) remplie de la ligne 3
3. colonnes sous forme de lettre
4. dernière colonne (sous forme de lettre ) de la ligne 3
Bon courage
plusieurs solutions
1. la dernière colonne (sous forme de nombre) remplie du classeur
DerCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
2. la dernière colonne (sous forme de nombre) remplie de la ligne 3
derco = Cells(3, Columns.Count).End(xlToLeft).Column
3. colonnes sous forme de lettre
Dim a As String, derli as long , derco as string, premli as long, premco as string a = ActiveSheet.UsedRange.Address derli = Split(a, "$")(4) derco = Split(a, "$")(3) premli = Replace(Split(a, "$")(2), ":", "") premco = Split(a, "$")(1)
4. dernière colonne (sous forme de lettre ) de la ligne 3
Dim derco As String, ad As String ad = Cells(3, Columns.Count).End(xlToLeft).Address derco = Split(ad, "$")(1)
Bon courage
Ou est ce qu'il faut adapter ces variables dans le code ?
merci d'avance