Toujours vrai, quelle que soit la plage traitée, y compris si cellule unique.
Le tableau ainsi obtenu est toujours en option base 1 (comme tous les tableaux vba utilisables dans les deux sens (range vers tableau et tableau vers range)
Private Function faire_tableau(plage As Range)
If plage.Cells.Count < 2 Then
Dim tabli(1 To 1, 1 To 1)
tabli(1, 1) = plage.Value
faire_tableau = tabli
Erase tabli
Else
faire_tableau = plage.Value
End If
End Function
à utiliser ainsi (exemple)
tabl = faire_tableau(Range("A1:A3"))
' la suite n'est là que comme preuve de la bonne exécution
For i = 1 To UBound(tabl, 1)
For j = 1 To UBound(tabl, 2)
MsgBox tabl(i, j)
Next
Next
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.