Bonjour,
Je viens de changer d'ordinateur professionnel (toujours sous win2000) et j'ai une fonction VBA qui marchait bien sur mon ancien PC qui ne marche plus sur le nouveau mais je ne comprends pas pourquoi.
Cette fonction est appelée par une macro qui demande à l'utilisateur de saisir une cellule ou un plage de cellules et elle retourne le nom de la plage de cellules, sans le nom du fichier Excel. Veuillez la trouver ci-dessous.
J'ai remarque sur ce PC tous les "Range" sont en minuscules tels que "range". Est-ce que cela pourrait avoir un lien ? Est-ce qu'il me manque une référence ?
Merci d'avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Function RangeSelection(ByVal Titre As String, ByVal DefaultRange As String) As String Dim RangeCells As range Dim StrSearch As String, StrReplace As String On Error Resume Next If DefaultRange <> "" Then range(DefaultRange).Select Err.Clear End If Set RangeCells = Application.InputBox(Prompt:="Veuillez selectionner une plage de cellule. ", _ Title:="RDExcel : " & Titre, _ Default:=DefaultRange, _ Type:=8) If Err.Number = 0 Then StrSearch = "[" & ActiveWorkbook.Name & "]" StrReplace = "" RangeSelection = Replace(RangeCells.Address(, , xlA1, True), StrSearch, StrReplace) RangeCells.Cells(1).Select Else RangeSelection = DefaultRange range(DefaultRange).Cells(1).Select End If On Error GoTo 0 Set RangeCells = Nothing End Function
EDIT: 17h40
Je viens de m'apercevoir que ça fonctionne si je selectionne une cellule dans la feuille déjà active. Mais si je vais chercher une cellule dans une autre feuille, ça plante.
Sachant que sur mon ancien PC cela fonctionnait, je ne comprend pas pourquoi maintenant ça n'est plus le cas.
J'espère que quelqu'un est en mesure de m'éclairer....
Merci d'avance.
je viens de tester chez moi avec mon ordi personnel avec Excel 2007 et la fonction fonctionne.
Donc il doit manquer quelque chose sur mon ordi professionnel équipé d'Excel 2000.
Partager