comportement différent de Show entre Sub et Function
bonjour,
quand j'appelle cible.Show à partir d'une exécution de Sub CompteCommentaires, j'obtiens bien la cellule au centre de la fenêtre Excel (en général, cachée derrière la MsgBox :mouarf:)
Quand je place la Function CountCommentParCol () dans la feuille Excel, cellule B2007
=CountCommentParCol(B$5:B1950)
la macro fonctionne, mais la feuille reste scotchée à
proximité de la cellule B2007
POurquoi ?
ET le r.Show dans la fonction ne fait absolument rien !
nb: j'utilise une fonction pour pouvoir faire des copies de formules dans toutes les colonnes qui m'intéressent en usant des adresses relatives ; je n'ai pas trouvé comment faire en macro Sub
Merci de me dire ce que j'ai oublié dans ce code
A+
code__________
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Function CountCommentParCol(Zone As Range) As String
Dim r As Range
Dim lig, col As Integer
Dim MsgZone As String
Dim NbComments As Long
NbComments = 0
Set r = Zone
r.Show
MsgZone = "Explore la colonne " & r.Cells().Address
MsgBox MsgZone
For col = 1 To r.Columns.Count
For lig = 1 To r.Rows.Count
CompteCommentaires Range(r.Cells(lig, col).Address()), NbComments
Next lig
Next col
CountCommentParCol = NbComments
End Function
Private Sub CompteCommentaires(cible As Range, NbComments As Long)
If cible.Comment Is Nothing Then
'MsgBox ("Aucun commentaire dans la cellule cible " & cible.Row & "," & cible.Column)
Else
NbComments = NbComments + 1
cible.Show
' Affiche le message.
MsgBox ("Cellule cible " & cible.Address() & " : [" & cible.Comment.Text & "]")
End If
End Sub |