Bonjour,
J'avoue que je ne comprends pas bien la logique de ton code que j'ai tenté d'adapter à ma situation
C'est le deuxième paramètre qui est mal utilisé. Ce dernier est optionnel. Par défaut c'est "OneDrive" donc en R9, seul le chemin doit être définit soit
=GetLocalPath("https://cafdoc.sharepoint.com/sites/AppuiaupilotageCCSS05/Pilotage/Indicateurs/"&B9&C9&A9&".xlsm")
et en R9 on doit avoir "c:/....../...." qui est alors exploitable avec les fonctions et méthodes du VBA
Si "OneDrive" ne donne pas satisfaction, il y a lieu de définir le deuxième argument avec une autre valeur OneDrive.
Le code ci-dessous écrit la valeur des différentes valeurs d'environnement dans la table structurée nommée t_Environ (voir illustration ci-dessous)
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
| Sub GetEnvirons()
Const TableName As String = "t_Environ"
Dim oRange As Range
Dim oList As ListObject
Dim r As Byte
Dim t As Variant
Dim f As Boolean
Set oRange = Range(TableName)
Set oList = oRange.ListObject
' f = Not .DataBodyRange Is Nothing
' Suppression de toutes les lignes existantes
Application.ScreenUpdating = False
With oList
If Not .DataBodyRange Is Nothing Then
.DataBodyRange.Rows.Delete '
End If
.ListRows.Add ' Ajout d'une nouvelle ligne pour initialiser la table
End With
With oList.DataBodyRange
For r = 1 To 42
t = Split(Environ(r), "=")
.Cells(r, 1).Value = r
.Cells(r, 2).Value = t(0)
.Cells(r, 3).Value = t(1)
Next
End With
Set oRange = Nothing: Set oList = Nothing
End Sub |
Illustration
Partager