Déterminer dynamiquement l’adresse la colonne en VBA
Salut le forum !
J'ai un petit souci avec l’identification dynamique des lignes et des colonnes.
En fait je voudrais obtenir ceci :
Code:
1 2 3 4 5 6 7 8
|
Lrow = .Cells(Rows.Count, 1).End(xlUp).Row
Lcolumn = .Cells(1, Columns.Count).End(xlToLeft).Column
For J = 3 To Lr Step 2
.Range("A" & J & ":L" & J).Interior.Color = RGB(183, 222, 232)
Next J |
Mais de de sorte que A et L soit déterminés intelligemment.
Un coup de main me serait un grand soulagement
Cordialement.
Déterminer dynamiquement l’adresse la colonne en VBA
Merci de vous être penché sur mon problème.
Le problème était qu'il fallait mettre en forme la requête SQL dont le nombre colonne importé varie
selon l'instruction contenu dans le Recordset. j'ai trouvé en cherchant un peu sur le forum
voici la solution que j'ai adapté
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
Function GetColumnAddress(ClnIndex As Variant)
If IsNumeric(ClnIndex) Then
GetColumnAddress= Split(Columns(ClnIndex).EntireColumn.Address, ":$")(1)
Else
GetColumnAddress= Val(Mid(Columns(ClnIndex).Address(ReferenceStyle:=xlR1C1), 2))
End If
End Function
Sub testGetColumnAddress()
Lcol = Feuil1.UsedRange.Cells(2, Columns.Count).End(xlToLeft).Column
Lr = Feuil1.Cells(Rows.Count, 1).End(xlUp).Row
For J = 3 To Lr Step 2
For I = 1 To Lcol
Feuil1.Range(GetColumnAddress(I) & J & ":" & _
GetColumnAddress(Lcol) & J).Interior.Color = RGB(183, 222, 232)
Debug.Print (GetColumnAddress(I) & J) & ":" & (GetColumnAddress(Lcol) & J)
Next I
Next J
End Sub
'La fonction permet de recupérer dynamiquement les Adresses de colonne sans avoir
'besoin de les définir en Dur Comme Ceci (ex: Range("A" & J & ":L" & J) où seul l'index de la ligne
'est dynamique et la colonne statique |
Merci à Patrick pour sa proposition qui marche. sauf qu'il faut remplacer colonnedefin = Cells(1, "L").Column par
colonnedefin = UsedRange.Columns.Count
Cordialement !