begin process at 2010 02 10 08:47:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Connaitre l'adresse d'une cellule appelee par une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connaitre l'adresse d'une cellule appelee par une fonction

samedi 25 août 2007 à 03:45:09 | Connaitre l'adresse d'une cellule appelee par une fonction

colinas

Bonjour,

Ce sujet est le contraire d'un post que j'ai pu voir sur ce site ou il s'agissait de determiner l'adresse de la cellule ou la fonction etait appelee (la reponse etant alors Application.Caller.Address si je ne m'abuse)
Dans le cas qui m'interesse, je souhaiterais connaitre dans quelle feuille se trouve la cellule passee en argument d'une fonction afin d'activer cette feuille lors de l'execution de cette fonction. Pour etre clair, voici la fonction en question:

Public Function OCCURRENCE(cellule As Range) As Integer
Dim chaine As String
Application.ScreenUpdating = False
Sheets("ASN Journaliers").Activate
With Sheets("ASN Journaliers")
chaine = cellule
col = cellule.Column
OCCURRENCE = 0
For I = 1 To .UsedRange.Rows.Count
If .Cells(I, col) = chaine Then
OCCURRENCE = OCCURRENCE + 1
End If
Next
End With
Application.ScreenUpdating = True
End Function

Si la fonction tourne dans une feuille differente de "ASN Journaliers", je suis obligee d'activer la feuille "ASN Journaliers" avec Sheets("ASN Journaliers").Activate afin d'obtenir le bon resultat. Dans ce cas particulier ca marche mais je souhaiterais generaliser ce code afin de prendre en compte le fait que l'argument "cellule" pourrait tres bien appartenir a une feuille differente de "ASN Journaliers". Si tel est le cas, je souhaiterais activer cette feuille. Donc il faudrait que je puisse par exemple determiner le nom de cette feuille qui viendrait alors remplacer la chaine de caracteres "ASN Journalier". Et le nom de cette feuille se situe precisement dans l'adresse de l'argument "cellule".
 
Merci d'avance pour votre aide
samedi 25 août 2007 à 09:50:48 | Re : Connaitre l'adresse d'une cellule appelee par une fonction

casy

Membre Club

Je dirais à priori qu'il te faudra passer le nom de la feuille en paramètre.

La cellule que tu passe n'est pas une cellule d'une feuille bien définie, mais plutot l'adresse d'une cellule dans la feuille active. Si dans ton code tu cahnge de feuille active, ton paramètre cellule va pointé sur la même cellule mais de la nouvelle feuille active, et non pas de celle d'origine.

Maintenant, je dis peut-etre des bétises, je suis pas un expert d'Excel

---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]
samedi 25 août 2007 à 18:23:27 | Re : Connaitre l'adresse d'une cellule appelee par une fonction

michelxld

Réponse acceptée !

bonjour

Tu peus aussi utiliser la propriété Parent:


Sub Test()
    Dim i As Integer
   
    i = OCCURRENCE(ActiveSheet.Range("A1"))
End Sub


Public Function OCCURRENCE(cellule As Range) As Integer
    MsgBox cellule.Parent.Name
End Function



bonne soirée
michel

samedi 25 août 2007 à 18:25:25 | Re : Connaitre l'adresse d'une cellule appelee par une fonction

michelxld

[EDIT]

par défaut une fonction est Public, tu n'as donc pas besoin de la préciser dans ta procédure.


michel


Cette discussion est classée dans : fonction, feuille, cellule, asn, journaliers


Répondre à ce message

Sujets en rapport avec ce message

fonction paste avec range en vba excel [ par topack ] J'ai deux classeurs excel, je copie une cellule d'une feuille d'un des classeur vers une feuille de l'autre classeur.cette cellule contient une chaine fonction en vba pour excel [ par OUARTA ] BonjoursJ'aimerais créer une formule en vba pour excel  qui me permettra  de faire une formule avec liaison à partir de différent chemin <span style=" écrire dans une cellule d'une feuille excel [ par aline37 ] Bonjour,je souhaite à travers une fonction VB, appelée sous excel, modifier le contenu d'une cellule de ce tableur.Lorsque j'entre le code  :Activeshe lookup et HLOOKUP [ par casperer ] Bonsoir à tous, je boss sur une formule en HLOOKUP Ex : ds la cellule de la feuille 1 je rentre =RECHERCHEH($E$24;Feuille2!$B$22:Feuille2!$M$34;$A27) modif cellule et inputbox [ par Patdebisca ] Bonsoir a tousJe cherche comment dans une feuille de calcul excel, si je modifie une cellule(et uniquement celle la) faire apparaitre une fenetre (inp Déprotéger une feuille par programmation lorsqu'ouverte par Internet Explorer [ par tidlidop ] Bonjour chère Communauté ! Mise en contexte : Le code doit modifier le contenu d'une cellule selon que l'utilisateur ait coché ou non une case. S annulation [ par Fabian123 ] Bonjour, c'est encore moi, avec mes betes questions!D'abord une explication:Dans la feuille 1 de excel, j'ai plusieurs boutons de commandes, chacun re Griser une ligne en fonction du résultat d'une cellule [ par allroadspp ] Bonjour, Je cherche à "griser" une ligne (de A à S) lorsque la cellule S de cette ligne affiche "Retour SOGAL". C'est donc une mise en forme condition Macro sub VBA [ par azg0rth ] Bonjour a tous!!Je suis nouveau sur le site et ce serait vraiment super si qqun pouvait m'aider :)Je dispose d'un tableau excel très mal fait...et j'a variables et modules de classe [ par chaudier37 ] Bonjour,Je fais un travail qui me pose un problème. je travaille dans excel. j'ai un bouton sur une feuille qui appelle des inputbox qui entrent des v


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,058 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales