Dans ma feuille, j'ai 2 tableaux nommés : "Tableau1" & "Tableau2".
Ces 2 tableaux ont la même hauteur et sont séparés par une colonne.
Je voudrais sélectionner simultanément la 1ère ligne des 2 tableaux en excluant la cellule appartenant à la colonne qui les sépare.
J'ai tenté ainsi :
Set BigTableau = Union(Tableau1, Tableau2)
BigTableau.Rows(1).Select
Ça ne me sélectionne que la 1ère ligne du 1er tableau ("Tableau1").
Ta proposition fonctionne. Cependant imaginons que tableau1 et tableau 2 soit alignés mais sans colonne séparatrice, alors ta syntaxe aboutit à une erreur car BigTableau.Areas.Item(2) n'existe pas. Les autres syntaxes fonctionnent dans les deux cas. Mais dans le cas précis de la question de Magic_Doctor, ta solution est bonne.
Ps : J'ai ajouté Tableau3 (dans la feuille excel qui reprend la plage Tableau2 en complément de la colonne séparatrice) suite a votre exemple avec le code ci-dessous qui sélectionne bien la première ligne de ces deux tableaux.
Cela fonctionne parfaitement car en faite ont considère qu'il a 2 tableaux.
- Tableau 1 et 2 sont alignés (sans colonne séparatrice) donc un seul tableau soit une plage
sauf que cette plage est divisé en 2 tableaux :
- soit 2 plages "tableau 1 et 3" (et que l'ont fait l'union de ces deux plages dans un même est seul tableau = "BigTableau")
- donc la syntaxe fonctionne bien puisque je demande dans ce même tableau "BigTableau" qui est l'union des deux tableaux = "tableau 1 et 3" la sélection de la première ligne de tableau1 "BigTableau.Areas.Item(1).Rows(1)" et la sélection de la première ligne de tableau3 "BigTableau.Areas.Item(2).Rows(1)".
test :
VB:
Sub SelectBigTableauSuite()
' Solution
Dim BigTableau As Range
Set BigTableau = Union([Tableau1], [Tableau3])
Union(BigTableau.Areas.Item(1).Rows(1), BigTableau.Areas.Item(2).Rows(1)).Select
End Sub
Pour ma part je comprend pas comment vous arrivez à cette erreur !
- mais sans colonne séparatrice, alors ta syntaxe aboutit à une erreur car BigTableau.Areas.Item(2) n'existe pas.
Vous pouvez joindre le fichier avec l'erreur que cela génère pour comprendre
C'est Possible d'avoir votre fichier avec le code pour que je test ?
NB: mes tableaux pour test sont A1:C10 et E1:G10
qu'elle est le code associé ? car je ne vois pas le rapport avec "Sans colonne, j'ai une erreur d'éxécution 1004."
Evaluate mon cher Watson, Evaluate...
Sacré Evaluate !
Et bing, le problème est réglé.
Re, Staple1600
Même si je devais en faire des brochettes, le problème Nº 1 était d'abord de pouvoir localiser les plages en question. J'avais mis Select, tout simplement pour faire simple. Après, on fait ce que l'on veut.
@laurent950
Avec les tableaux en A1:C10 et E1:G10
La colonne D est donc la colonne séparatrice.
Dans ce cas, ton code fonctionne.
Si je supprime la colonne D, j'ai l'erreur précedemment évoquée.