1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| Public Sub test_selection()
MsgBox RangeSelection( _
Consigne:="Veuillez selectionner une plage de cellule. ", _
Titre:="Plage des fonctions de contraintes", _
DefaultRange:="Feuil1!B3")
End Sub
Public Function RangeSelection(ByVal Consigne As String, ByVal Titre As String, ByVal DefaultRange As String) As String
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' RangeSelection
' Retourne l'adresse Excel d'une plage de cellule sélectionnée par l'utilisateur.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim RangeCells As String
'si DefaultRange contient une adresse : selection de la plage
If DefaultRange <> "" Then Application.Goto Range(DefaultRange)
RangeCells = AdresseRangeSansWorkbook(Application.InputBox( _
Prompt:=Consigne, _
Title:="RDExcel : " & Titre, _
Default:=DefaultRange, _
Type:=8))
If RangeCells <> "" Then
' si contient une chaine de caractères
RangeSelection = RangeCells
'selectionner la plage RangeCells
Application.Goto Range(RangeCells)
Else
' s'il y a une erreur: le bouton Annuler à été cliqué donc retour à l'initial
RangeSelection = DefaultRange
'selectionner la plage DefaultRange si elle contient une chaine
If DefaultRange <> "" Then Application.Goto Range(DefaultRange)
End If
End Function
Public Function AdresseRangeSansWorkbook(ByRef Plage) As String
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' AdresseRangeSansWorkbook
' Retourne l'adresse Excel d'une plage de cellule sans le nom du calsseur excel.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim StrSearch As String, StrReplace As String
If VarType(Plage) <> vbBoolean Then
StrSearch = "[" & ActiveWorkbook.Name & "]"
StrReplace = ""
AdresseRangeSansWorkbook = Replace(Plage.Address(, , xlA1, True), StrSearch, StrReplace)
Else
AdresseRangeSansWorkbook = ""
End If
End Function |