Excel Rows & Columns – Code VBA

  • par

Code VBA

Aucun objet Row ou Column

Il n’y a pas d’objets Row ou Column et il n’y a pas de collections Rows ou Columns.
Il est cependant possible d’utiliser les propriétés de l’objet activesheet

ActiveSheet.Columns(icolumn) 

Ceci renvoie un objet Range qui fait référence à une colonne particulière.

Range("C1").ColumnWidth = Range("A1").ColumnWidth 

icount = Selection.Columns.Count - returns the number of columns currently selected 
ActiveSheet.Rows
ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows(10).Cells(6).Select

Les propriétés EntireColumn et EntireRow renvoient les colonnes ou les lignes dans lesquelles se trouve la plage donnée.
Ils sont alors traités comme des plages normales de cellules.

ActiveSheet.Outlines.ShowLevels RowLevels:=2 

Range("B2:B10").EntireColumn.Interior.ColorIndex = 27 

Application.Intersect(Activesheet.Rows(2).Cells, Activesheet.Columns(4).Cells) 

Colonnes

ActiveSheet.Columns 
ActiveSheet.UsedRange.Columns.Count
ActiveSheet.Columns("A:C").Delete
Range("A1:E10").Columns("C").Insert

Nombre de lignes actuellement sélectionnées

lcount = Selection.Rows.Count 

Nombre de colonnes dans une sélection multiple

Dim iareacount As Integer 
Dim itotal as Integer
itotal = 0
For iareacount = 1 to Selection.Areas.Count
itotal = itotal + Selection.Areas(iareacount).Columns.Count
Next iareacount
Call MsgBox(itotal)

ActiveSheet.UsedRange.Row 

Aussi appelé GetColumnName, ColumnNumberToLetter
ColumnNumberToNa,e

Question

Je voudrais masquer une ligne si certaines valeurs sont saisies dans trois cellules. Par exemple, si le Royaume-Uni est sélectionné dans les cellules C3 et C5 et que CI est sélectionné dans la cellule C10, j’aurais alors la rangée 16 masquée. Je voudrais que cela soit dynamique, c’est-à-dire mis à jour à chaque fois que la valeur dans la cellule change.

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim rng As Range
Set rng = Me.Range("C3,C5,C10")
If Not Intersect(rng, Target) Is Nothing Then
Rows(16).EntireRow.Hidden = Range("C3").Value = _
"United Kingdom" And Range("C5").Value = _
"United Kingdom" And Range("C10") = "C1"
End If
End Sub

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *