CODE VBA

download CODE VBA

of 5

Transcript of CODE VBA

1

mmencons par les bases :

Selection d'une feuille Sheets("NomDeLaFeuille").Select Selection d'une cellule Range("A1).Select Ouverture d'un autre fichier Excel ChDir "Chemin du repertoire du fichier" Workbooks.Open Filename:= _ " Chemin du repertoire du fichier\fichier.xls " Fermeture d'un fichier ActiveWindow.Close pour fermer le fichier en cours Ou Workbooks.Close Filename:= _ " Chemin du repertoire du fichier\fichier.xls "

Maintenant que les bases sont poses, voyons comment parcourir le fichier :

Parcourir les lignes i=1 Sheets("Base").Select While Not Range("A" & i & "").Value = "" i=i+1 Wend => Permet de se placer sur la premiere ligne vide

2

Parcourir les colonnes

While Cells(1, i) "" i=i+1 Wend 'permet de trouver la lettre associe au chiffre pour la colonne NumCol = Cells(1, i).Column lettre = IIf(NumCol > 26, Chr(64 + NumCol \ 26) & Chr(64 + NumCol Mod 26), Chr(64 + NumCol)) => Se place sur la premiere colonne vide

Maintenant que nous savons parcourir, voyons comment tirer des formules, adapter un graphique?

Tirer les formules

Range("A3:Z3").Select ?selection de la ligne contenant la formule Selection.AutoFill Destination:=Range("A3:Z" & i - 1 & ""), Type:=xlFillDefault Range("A3:Z" & i - 1 & "").Select

Adapter un graphique ActiveSheet.ChartObjects("Graphique 3").Activate ActiveChart.SeriesCollection(3).Select ActiveChart.SeriesCollection(3).XValues = "='% Nom classeur?!R4C1:R" & i & "C1" ActiveChart.SeriesCollection(1).XValues = "='% Nom classeur?!R4C1:R" & i & "C1"

3

ActiveChart.SeriesCollection(2).XValues = "='% Nom classeur?!R4C1:R" & i & "C1" ActiveChart.SeriesCollection(3).Values = "='% Nom classeur?!R4C5:R" & i & "C5" ActiveChart.SeriesCollection(2).Select ActiveChart.SeriesCollection(2).Values = "='% Nom classeur?!R4C7:R" & i & "C7" ActiveChart.SeriesCollection(1).Select ActiveChart.SeriesCollection(1).Values = "='% Nom classeur?!R4C3:R" & i & "C3"

Cela permet de prendre en compte toutes les donnes et de les associer au graphique

Adapter la taille des cellules 'redimensionnement des cellules Rows("2:" & i & "").Select Selection.RowHeight = 25 Range("A1:H1").Select

Changer les bordures ' on s'occupe des bordures du tableau Range("B3:H" & i & "").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With

4

With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With

5

Ce code permet de mettre des bordures interieures et exterieures sur un tableau. Le 'i' permet de se placer sur la derniere ligne du tableau.

Recuperer une valeur sur une autre feuille

nb = Range("B" & i & "").Value Sheets("nb rebut").Select Range("C" & j & "").Value = nb

Insrer ou effacer une ligne Rows("4:4").Select Selection.Delete Shift:=xlUp ' pour supprimer

Rows("5:5").Select Selection.Insert Shift:=xlDown ' pour insrer