sélectionner simultanément la 1ère ligne de 2 tableaux contigus

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

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").

Comment s'y prendre ?
 

laurent950

XLDnaute Barbatruc
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

Merci à se forum très instructif de partage

laurent
 

Pièces jointes

  • Forum.xlsm
    143.7 KB · Affichages: 39
Dernière édition:

laurent950

XLDnaute Barbatruc
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."
 
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Buenas noches job,

Acá, ¡mucho calor!

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.
 

Discussions similaires