Dimension d'une plage

Bonjour

Je me suis donné pour challenge de trouver les dimensions d'une plage que je sélectionne de façon aléatoire sur ma feuille de calcul , ( plage choisie pour des colonnes allant de A à Z et pas de limite pour les lignes )pour cela, j'ai pensé à travailler sur la valeur "string" qui est

selection.address

j'ai donc écris ceci , ca marche mais bon c'est pas élégant.. code à partir duquel j'en tire pour la sélection la ligne de début et de fin , la colonne de début et de fin .

Function dimensions(x As Range)
For i = 1 To Len(x.Address)
 If Mid(x.Address, i, 1) = ":" Then
  For j = 1 To i - 1
   If IsNumeric(Mid(x.Address, j, 1)) Then
     w = w & Mid(x.Address, j, 1) 'ligne début
   End If
  Next
  ligne_début = w
  For k = 1 To i - 1
   If Not IsNumeric(Mid(x.Address, k, 1)) And Mid(x.Address, k, 1) <> "$" Then
     alpha = alpha & Mid(x.Address, k, 1) 'colonne début
   End If
  Next
    'conversion lettre -->valeur :
   For u = 0 To 25
    If Chr(u + 65) = alpha Then
    colonne_début = u + 1
    End If
   Next

   For j = i + 1 To Len(x.Address)
    If IsNumeric(Mid(x.Address, j, 1)) Then
     q = q & Mid(x.Address, j, 1) 'ligne début
    End If
   Next
  ligne_fin = q

   For k = i + 1 To Len(x.Address)
   If Not IsNumeric(Mid(x.Address, k, 1)) And Mid(x.Address, k, 1) <> "$" Then
     beta = beta & Mid(x.Address, k, 1) 'colonne début
   End If
  Next
    'conversion lettre -->valeur :
   For v = 0 To 25
    If Chr(v + 65) = beta Then
    colonne_fin = v + 1
    End If
   Next

 End If
Next
dimensions = ligne_début & Chr(10) & ligne_fin & Chr(10) & colonne_début & Chr(10) & colonne_fin
End Function

puis ensuite je teste tout ca , comme suit

Sub test()
MsgBox dimensions(selection)
End Sub

peut on l'ameliorer en longueur ? ou existe t il un autre moyen que je ne connais surement pas ?

En vous remerciant pour vos réponses , Cordialement .

Bonjour,

Sub test2()
Debug.Print Selection.Row, Selection.Column, Selection.Row + Selection.Rows.Count - 1, Selection.Column + Selection.Columns.Count - 1
End Sub

epicetou !

Bonjour Steelson honte à moi ! C était si simple que ça.. Un grand merci !!

Pas de honte, cela m'arrive aussi de passer à côté de choses simples !

Rechercher des sujets similaires à "dimension plage"