[Excel/vba] Indirection semi-automatisée
Résolu/Fermé
David-M
Messages postés
5
Date d'inscription
vendredi 12 mars 2010
Statut
Membre
Dernière intervention
16 octobre 2011
-
7 oct. 2011 à 10:07
David-M Messages postés 5 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 16 octobre 2011 - 16 oct. 2011 à 01:40
David-M Messages postés 5 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 16 octobre 2011 - 16 oct. 2011 à 01:40
A voir également:
- [Excel/vba] Indirection semi-automatisée
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
4 réponses
David-M
Messages postés
5
Date d'inscription
vendredi 12 mars 2010
Statut
Membre
Dernière intervention
16 octobre 2011
8 oct. 2011 à 13:06
8 oct. 2011 à 13:06
Personne? :S
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 8/10/2011 à 13:44
Modifié par michel_m le 8/10/2011 à 13:44
Bonjour
en utilisant une feuille excel, tu ne peux pas remplacer une formule (ou fonction) par une valeurou unr formule sans détruire la fonction applelante
il faut alors passer par VBA genre:
...
attention au chemin si le classeur source n'est pas dans le m^dossier que l'actif
à toi d'adapter et de voir pour l'événement déclencheur...
Michel
en utilisant une feuille excel, tu ne peux pas remplacer une formule (ou fonction) par une valeurou unr formule sans détruire la fonction applelante
il faut alors passer par VBA genre:
public adresse as string sub xxxxx() adresse=activecell.address activecell=INDIRECT_SAME_CELL(feuille as sheet,classeur as workbook ) ....
...
attention au chemin si le classeur source n'est pas dans le m^dossier que l'actif
à toi d'adapter et de voir pour l'événement déclencheur...
Michel
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 257
Modifié par eriiic le 8/10/2011 à 21:23
Modifié par eriiic le 8/10/2011 à 21:23
Bonsoir tout le monde,
Michel, je ne pense pas qu'il veuille remplacer, mais que la fonction lui ramène la valeur recherchée.
Je crois que le plus gros pb est activecell.
Ce qui t'interesse est la cellule où est inscrite la fonction, c'est rarement la cellule active.
Il faut utiliser .caller
Teste et dis..
eric
edit: les noms de classeurs et de feuilles doivent être encadrés de " " (string) :
=INDIRECT_SAME_CELL("Feuil2";"Classeur2")
Michel, je ne pense pas qu'il veuille remplacer, mais que la fonction lui ramène la valeur recherchée.
Je crois que le plus gros pb est activecell.
Ce qui t'interesse est la cellule où est inscrite la fonction, c'est rarement la cellule active.
Il faut utiliser .caller
Function INDIRECT_SAME_CELL(feuille As String, Optional classeur As String) As Variant Dim adr As String Application.Volatile 'la fonction est réévaluée à chaque recalcul de la feuille If classeur = "" Then classeur = ActiveWorkbook.Name End If adr = Application.Caller.Address ' recup adresse cellule appelante INDIRECT_SAME_CELL = Workbooks(classeur).Sheets(feuille).Range(adr).Value End Function
Teste et dis..
eric
edit: les noms de classeurs et de feuilles doivent être encadrés de " " (string) :
=INDIRECT_SAME_CELL("Feuil2";"Classeur2")
David-M
Messages postés
5
Date d'inscription
vendredi 12 mars 2010
Statut
Membre
Dernière intervention
16 octobre 2011
16 oct. 2011 à 01:40
16 oct. 2011 à 01:40
Bonsoir tout le monde,
Désolé pour cette réponse tardive.
Tout d'abord, merci aux personnes ayant répondu.
And the winner is.... Eriiic! Merci pour ta fonction, c'est ce que je voulais (reste une ou deux touches personnelles à apporter, mais ça, c'est du détail, tu m'as fourni la mécanique, c'est ce qu'il me fallait. :-) )
Désolé pour cette réponse tardive.
Tout d'abord, merci aux personnes ayant répondu.
And the winner is.... Eriiic! Merci pour ta fonction, c'est ce que je voulais (reste une ou deux touches personnelles à apporter, mais ça, c'est du détail, tu m'as fourni la mécanique, c'est ce qu'il me fallait. :-) )