Address bonne journée @+ #6 une formule que j'avais trouvé sur ce site (merci à l'auteur: peut-être Monique) =MAX(SI(ESTNA(EQUIV(9^9;A:A));"";EQUIV(9^9;A:A));SI(ESTNA(EQUIV("zz";A:A));"";EQUIV("zz";A:A))) a+ #7 Salut Si... VBA, peut-être ainsi? Option Explicit 'dans le module de la feuille, à adapter Private Sub Worksheet_SelectionChange(ByVal Target As Range) On Error Resume Next Application. EnableEvents = False Dim Ou As String, Dli As Long Ou = Selection. SpecialCells(xlCellTypeConstants). Address Dli = Right(Ou, Len(Ou) - InStrRev(Ou, "$")) MsgBox Dli 'pour voir Application. EnableEvents = True End Sub #8 merci à vous 4 pour avoir pris de votre temps pour m'apporter des éléments de réponse. Je précise à l'attention de CHALET53 que je veux faire ça en VB... Sinon pour les autres, j'essaie de comprendre ce que vous m'avez proposé, et c'est pas évident vu mon niveau en VB... Mais je m'accroche. J'avoue quand même que si l'utilisation de Find permet de résoudre mon problème, ça a l'ar plus simple.
Bref, rien qui marche irréprochablement sans être obligé de reprendre derrière. Bon alors, pour ne pas bouffer trop de temps cpu en partant de rien, on va partir de celui qui minimise les risque de louper quelque chose, UsedRange et on élague dabord les dernière lignes quand même vides selon notre critère. Pareil ensuite pour les colonnes quand même vides. Notre critère: le nombre de cellule vallant une chaîne vide est égal au nombre de cellules. CoutIf est le nom natif de la fonction Excel Donc dans une expression formule pour la dernière ligne de ma plage momentanément retenue ma condition serait: (MaLigne;"")=COLONNES(MaLigne) Alors ce n'est pas ma dernière ligne et je décrémente celle ci avant de recommencer avec la précédente jusqu'à éviter de ramer même sur la falaise. J'espère que mon code vous paraît à présent plus clair. Si quelqu'un a mieux je suis preneur. Dernière édition: 25 Mai 2011 #11 Merci de ces précisions! Pour info à force de chercher, je viens de trouver ça qui détecte bien le fait que ma cellule "F10" n'affiche rien alors qu'elle comporte bien une formule conditionnelle du type If(test OK, blabla, "").
Quelqu'un aurait une idée? #13 modifie peut être ainsi: If Sheets("Feuille1")(k, 6) = vbNullString Then #14 Bonjour Range(Cells(k, 6)) Cherche à représenter une plage dont la référence ou le nom est contenu dans la valeur de la cellule ligne k, colonne 6. Enlevez le Range(.. ) autour. Mais dois-je en comprendre que ma procédure ne marche pas? Alors, s'il vous plait, dites moi pourquoi car je veux la mettre au point. #15 Merci! le code suivant fonctionne donc: For k = 0 To 10 If Sheets("Fiche Panier")(10 + k, 6) = vbNullString Then i = (10 + k) - 1 Je vous remercie tous pour m'avoir filer un coup de main depuis hier! Bonne journée