Trouver cellule dans plage

B

bragal

Guest
Bonjour,

Je voudrais créer une macro qui, sur une plage de cellule donnée, trouve la première cellule dont la bordure inférieure soit de type épaisse. Puis enregistrer le numéro de la ligne de cette cellule dans une variable (c par exemple) et aussi afficher ce numéro dans la cellule A1.

En fait je dispose d’un grand tableau (dont la longeur peut varier) dont le pourtour est en bordure épaisse, et je voudrais savoir à quel numéro de colonne se situe la dernière case de ce tableau. Cette dernière case peut être vide ou avoir n’importe quelle valeur, c’est pour ça que seule la méthode avec les types de bordure est possible.

Je sais qu’il existe la fonction « Range("B14:B800").Borders(xlEdgeBottom).Weight = xlMedium » mais je n’arrive pas à faire qu’il recherche la bonne cellule sur la plage donnée et qu’il stocke le numéro de la ligne trouvée dans une variable …

Merci d’avance
 
D

Dan

Guest
Bonjour,

Je ne sais pas si cela peut te convenir mais via menu / edition / atteindre / cellule / dernière cellule, tu peux attenidre la dernière cellule de ton tableau.

Avec macro cela donnerait ceci : Selection.SpecialCells(xlCellTypeLastCell).Select.

Merci de dire si cela résoud ton pb ou non

@+

Dan
 
B

bragal

Guest
Salut

Merci de m'avoir répondu.
J'ai essayé tes propositions mais ça ne résoud pas mon pb.
En fait oublies tout le paragraphe que j'ai écrit sur le tableau, ça sera plus clair.
Il faut que je trouve parmis une plage donnée la première cellule qui a une bordure inférieure épaisse. Puis que je stocke le numéro de la ligne de la cellule ainsi trouvée dans une variable car ce numéro doit me servir plus tard dans ma macro. Il faut donc absolument que je passe par une macro et que je trouve l'adresse de cette cellule.

Merci

Bragal
 
W

wally

Guest
Bonjour Bragal et le forum,

Voici un petit exemple, à adapter selon tes besoins :

Sub Recherche_Bordure()

Dim oRge As Range
Dim iRow As Integer

For Each oRge In Range("B14:B800")
If oRge.Borders(xlEdgeBottom).Weight = xlMedium Then
iRow = oRge.Row
Exit For
End If
Next

Range("A1").Value = iRow

End Sub


Slts

wally
 

Discussions similaires

Statistiques des forums

Discussions
313 101
Messages
2 095 285
Membres
106 243
dernier inscrit
Zamot