[Excel VBA] différents types d'objets 'range'
Zorglub
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
Je cherche désespérément à comprendre les subtiles nuances des objets regroupés sous le type 'range'.
En effet, l'aide et l'explorateur d'objets prétendent dans de nombreux cas qu'une collection contient des objets 'range', mais souvent de nombreuses opérations sont interdites sur ces objets.
ex: ActiveSheet.columns(1) est censé renvoyer un objet range, mais de nombreuses propriétés/méthodes des objets range vont produire une erreur
Autre exemple, plus frappant:
Si on essaye de typer des variables as 'Range', de nombreuses opérations sont interdites:
Comment se fait-il qu'un objet de type range ne puisse pas être copié dans un autre ?
D'expérience, il semble que les range de 'sous-type' colonne ou cellule seule soient différents des ranges classiques, mais je ne parviens pas à manipuler ces objets en les typant. Quand ils ne sont pas typés, ou variant, je reste bloqué par des erreurs m'indiquant (plus ou moins clairement) que mon objet range ne me permet pas d'utiliser telle ou telle propriété (genre .value !) ou telle opération (genre copie dans une autre variable)
Quelqu'un comprend-t-il ses nuances de types ?
Je cherche désespérément à comprendre les subtiles nuances des objets regroupés sous le type 'range'.
En effet, l'aide et l'explorateur d'objets prétendent dans de nombreux cas qu'une collection contient des objets 'range', mais souvent de nombreuses opérations sont interdites sur ces objets.
ex: ActiveSheet.columns(1) est censé renvoyer un objet range, mais de nombreuses propriétés/méthodes des objets range vont produire une erreur
Autre exemple, plus frappant:
Si on essaye de typer des variables as 'Range', de nombreuses opérations sont interdites:
Sub testtypes()
Dim CellA As Range
Dim CellB As Range
For Each CellA In Range("A1:C3")
CellB = CellA ' <- provoque une erreur !!
Next
End Sub
Comment se fait-il qu'un objet de type range ne puisse pas être copié dans un autre ?
D'expérience, il semble que les range de 'sous-type' colonne ou cellule seule soient différents des ranges classiques, mais je ne parviens pas à manipuler ces objets en les typant. Quand ils ne sont pas typés, ou variant, je reste bloqué par des erreurs m'indiquant (plus ou moins clairement) que mon objet range ne me permet pas d'utiliser telle ou telle propriété (genre .value !) ou telle opération (genre copie dans une autre variable)
Quelqu'un comprend-t-il ses nuances de types ?
A voir également:
- [Excel VBA] différents types d'objets 'range'
- Site pour vendre des objets d'occasion - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide