De: Laurent Longre Objet: Re: cellules fusionnés et End(xlToRight) Date : lundi 30 octobre 2000 11:39 Ah, merci Flo de m'éviter une auto-réponse par ton intervention ! :-) En fait, partir de la dernière cellule est inutile. Je pensais ce faisant à rechercher la dernière cellule non vide de la ligne (avec un xlPrevious). Pour l'équivalent de End(xlToRight), ça ne sert à rien. Donc voilà, et ce sera mon dernier mot, à moins que CC continue de m'asticoter injustement: 1) Sélectionner la dernière cellule de la dernière zone fusionné remplie (ou la dernière cellule remplie) de la ligne 2 à partir de A2: Range("2:2").Find("")(, 0).Select 2) Obtenir la référence de la dernière cellule réllement remplie (sans tenir compte de la plage fusionné) de la ligne 2 à partir de A2: set Cell = Range("2:2").Find("").End(xlToLeft) MsgBox "Adresse : " & Cell.Address(0, 0) 3) La même chose avec une plage variable (MaLigne) : - Sélection de la dernière cellule de la dernière plage fusionné remplie: MaLigne.Find("")(, 0).Select - Référence de la dernière cellule réllement remplie : set Cell = MaLigne.Find("").End(xlToLeft) MsgBox "Adresse : " & Cell.Address(0, 0) Bon courage Flo. ;-) Laurent Flo a écrit : > > merci pour les explications ! > merci donc aussi à Catherine et à la très sainte Zaza de les avoir demandés > pour moi. > Flo > > Laurent Longre a écrit dans le message : > 39FD47DD.192AA7BA@free.fr... > > > > Catherine a écrit : > > > > > > tiens c'est nouveau ton empty ? > > > > Oui. C'est zouli, hein ? :-) > > > > En fait, on peut utiliser "" à la place, mais je trouve Empty plus > > parlant. > > > > > Dans le genre abscons, mon ptit Loulou, ta réponse est pas mal... > > > > Boh, alors je vais délayer, puisque toi aussi tu penses "mort aux > > abscons"! > > > > Range("2:2").Find(Empty, Range("IV2")).Offset(0, -1).Select > > > > (bouh ! c'est pas bô comme ça ! Ca fait "bébé" !!!) > > > > Et si la ligne est une plage variable (MaLigne) : > > > > MaLigne.Find(Empty, MaLigne(MaLigne.Count))(, 0).Select > > > > Et si on veut connaître l'adresse exacte de la dernière cellule trouvé > > (okazou elle est dans une plage fusionné): > > > > set Cell = MaLigne.Find(Empty, MaLigne(MaLigne.Count))(, 0) > > If Cell.MergeCells Then set Cell = Cell.MergeArea(1) > > MsgBox """End(xlToRight)"" = " & Cell.Address(0, 0) > > > > Pourquoi ça marche avec la méthode Find et pas avec End ? Parce que Find > > est plus intelligent et sait qu'il est inutile de faire la recherche en > > dehors de la 1ère cellule des plages fusionnés. > > > > Et voilu. > > > > Laurent > > > > > Bon courage Flo :-)))) > > > -- > > > Gros bisous, Kenavo (et Miaou). > > > Catherine (et Sainte Zaza) > > > > > > "Laurent Longre" a écrit dans le message news: > > > 39FD3993.3A38932B@free.fr... > > > > > > > > Tu n'as pas besoin de boucle Do/Loop. > > > > > > > > Par exemple, pour la ligne 2 : > > > > > > > > [2:2].Find(Empty, [IV2]).Item(, 0).Select > > > > > > > > (Excel 2000) > > > > > > > > Laurent > > > > > > > > Flo a écrit : > > > > > > > > > > J'ai besoin de trouver la première cellule vide d'une ligne dans > > > laquelle > > > > > les cellules sont fusionnés par groupe de 2 > > > > > La méthode range (bidule).End(xlToRight) ne marche pas dans ce cas. > > > > > > Une idé ? > > > > > Merci > > > > > Flo > > > > > > > > > > PS Y'a personne qui peut m'aider pour ma question de 18h21 > d'aujourd'hui > > > sur > > > > > les combos ?