Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Find : ben pourquoi ca marche pas ?

10 réponses
Avatar
Bob le retour
bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function

10 réponses

Avatar
michdenis
Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de news:
bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function
Avatar
Pascal Engelmajer
Salut,
Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
NbHeuresMoisMax=ligne

End Function
aquoi sert le zz ?

--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Bob le retour" a écrit dans le message de news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function



Avatar
patrick
Bonjour

le find peut s'utiliser dans une function
qui est appelée par une sub
exemple à adapter
Function cherche_nom()
With ActiveSheet.Range("d:d")
Set foundcell = .Find(MAVALEUR, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundcell Is Nothing Then
cherche_nom = foundcell.address
End If
End With
end function


@+
patrick

"michdenis" a écrit dans le message news:

Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function




Avatar
michdenis
Et oui Patrick,

J'ai seulement déduit que la fonction était utilisée directement dans la feuille ! mais je peux me tromper... attendons
voir ce qu'en dit le demandeur.


Salutations!


"patrick" a écrit dans le message de news:c8d0qd$o91$
Bonjour

le find peut s'utiliser dans une function
qui est appelée par une sub
exemple à adapter
Function cherche_nom()
With ActiveSheet.Range("d:d")
Set foundcell = .Find(MAVALEUR, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundcell Is Nothing Then
cherche_nom = foundcell.address
End If
End With
end function


@+
patrick

"michdenis" a écrit dans le message news:

Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function




Avatar
patrick
Bonjour michdenis

oui effectivement on peut croire qu'il veut s'en servir comme
fonction de feuille

@+

patrick


"michdenis" a écrit dans le message news:

Et oui Patrick,

J'ai seulement déduit que la fonction était utilisée directement dans la
feuille ! mais je peux me tromper... attendons

voir ce qu'en dit le demandeur.


Salutations!


"patrick" a écrit dans le message de
news:c8d0qd$o91$

Bonjour

le find peut s'utiliser dans une function
qui est appelée par une sub
exemple à adapter
Function cherche_nom()
With ActiveSheet.Range("d:d")
Set foundcell = .Find(MAVALEUR, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundcell Is Nothing Then
cherche_nom = foundcell.address
End If
End With
end function


@+
patrick

"michdenis" a écrit dans le message news:

Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction
personnelle.



C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function









Avatar
Daniel.M
Salut Denis,

Il paraît qu'on peu invoquer .Find dans une fonction perso appelée de la feuille
si on possède la toute dernière version d'Excel (à vérifier).

Mais, en tout cas, ça ne fonctionne pas avec Excel 2000.

Salutations,

Daniel M.

"michdenis" wrote in message
news:
Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function




Avatar
isabelle
bonjour à vous tous,

celle ci fonctionne sur xl2002 sp2

Function Trouver(PlageDeRecherche As Range)
Set zz = Range(PlageDeRecherche.Find(what:="zaza").Address)
Trouver = zz.Address
End Function

isabelle


Salut Denis,

Il paraît qu'on peu invoquer .Find dans une fonction perso appelée de la feuille
si on possède la toute dernière version d'Excel (à vérifier).

Mais, en tout cas, ça ne fonctionne pas avec Excel 2000.

Salutations,

Daniel M.

"michdenis" wrote in message
news:
Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function






Avatar
isabelle
pour que ce soit plus général,

Function TrouverMot(PlageDeRecherche As Range, mot As String)
Set zz = Range(PlageDeRecherche.Find(what:="" & mot).Address)
TrouverMot = zz.Address
End Function

isabelle


Salut Denis,

Il paraît qu'on peu invoquer .Find dans une fonction perso appelée de la feuille
si on possède la toute dernière version d'Excel (à vérifier).

Mais, en tout cas, ça ne fonctionne pas avec Excel 2000.

Salutations,

Daniel M.

"michdenis" wrote in message
news:
Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function






Avatar
michdenis
Bonjour Daniel,

Merci de me mettre au parfum ! une chose de régler !

(j'ai pas testé mais je fais confiance à Isabelle.)

Merci à vous deux!

Bonne fin de journée,

Salutations!


P.S. J'ai aussi eu de la difficulté avec la méthode "specialcells" avec des fonctions personnalisées s'adressant à la
feuille de calcul. Sais-tu si Microsoft a solutionné cette difficulté aussi ?






"Daniel.M" a écrit dans le message de news:
Salut Denis,

Il paraît qu'on peu invoquer .Find dans une fonction perso appelée de la feuille
si on possède la toute dernière version d'Excel (à vérifier).

Mais, en tout cas, ça ne fonctionne pas avec Excel 2000.

Salutations,

Daniel M.

"michdenis" wrote in message
news:
Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function




Avatar
Bob le retour
Merci pour vos réponses. Effectivement, la fonction est utilisée directement dans la feuille. J'ai réussi à palier au
problème en la recherchant cellule par cellule, puisque la feuille en question est de dimensions raisonables.
Merci !


Et oui Patrick,

J'ai seulement déduit que la fonction était utilisée directement dans la feuille ! mais je peux me tromper... attendons
voir ce qu'en dit le demandeur.

Salutations!

"patrick" a écrit dans le message de news:c8d0qd$o91$
Bonjour

le find peut s'utiliser dans une function
qui est appelée par une sub
exemple à adapter
Function cherche_nom()
With ActiveSheet.Range("d:d")
Set foundcell = .Find(MAVALEUR, LookIn:=xlValues, LookAt:=xlWhole)
If Not foundcell Is Nothing Then
cherche_nom = foundcell.address
End If
End With
end function

@+
patrick

"michdenis" a écrit dans le message news:

Bonjour Bob le retour,

La fonction "Find" ne peut pas être utilisé dans une fonction personnelle.

C'est comme ça !


Salutations!


"Bob le retour" a écrit dans le message de
news:

bjr,
la fonction Find ne renvoie rien (Nothing) dans cette fonction -bien
qu'il y a it qque chose à trouver-, alors que lorsque j'isole cette
ligne unique dans une procédure Sub, elle renvoie quelque chose.
Pourquoi ?

Function NbHeuresMoisMax(ByVal zz As Range) As Integer
Ligne = Worksheets("Feuille1").Cells.Find(what:="Un Nom qui existe sur
la feuille1").Row
End Function