Cellule active

andré

XLDnaute Barbatruc
Bonjour à vous tous,

Je crois que ce n'est pas possible, mais sait-on jamais !

Je souhaite, dans une formule, faire référence à la cellule active.

Puisqu'XL parvient à la placer dans la 'zone nom' de la barre de formules, pourquoi n'y aurait-il pas moyen de la placer dans une cellule.

A défaut de le faire en direct, si une macro peut le faire dans une cellule, je pourrais me référer à cette cellule par la fonction INDIRECT.

Merci d'avance.
Â+
 

Tibo

XLDnaute Barbatruc
Salut André,

Je me suis déjà intéressé au sujet et voila ce que j'avais trouvé (sans macro) :

=CELLULE('ligne')
=CELLULE('colonne')

Il faut faire F9 pour les mettre à jour.

J'espère que ça pourra t'aider.

On peut ensuite associer ces formules à la fonction INDIRECT

Bon week-end

@+
 

AeroPlanneur

XLDnaute Junior
bonjour André ,Tibo et tous,

j'ai compris de façon differente que Tibo.
Tu as une formule dans une cellule, et tu voudrais que le calcul se fasse sur la valeur de la cellule active, exemple :
formule en G1 = CellActive & ' bonbons'
Tu selectionnes A1 et tu entres 12, en G1 tu obtiens '12 bonbons'
Tu selectionnes B15 et tu entres 6, en G1 tu obtiens '6 bonbons'
Si c'est ça :

'************************************************
Sub NewActiveCell(Cellule As Range)
ActiveWorkbook.Names.Add Name:='CellActive', RefersTo:=Cellule
End Sub
'************************************************

et dans le module de feuille :
'************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [G1:H6]) Is Nothing Then Exit Sub
NewActiveCell Target
End Sub
'************************************************

ici la plage [G1:H6] est exclue, pour éviter d'avoir des réferences circulaires

cordialement

Message édité par: AeroPlanneur, à: 13/05/2006 12:01

Message édité par: AeroPlanneur, à: 13/05/2006 12:02
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonjour Ândré, Tibo et AeroPlanneur,
bonjour à toutes et à tous :)

J'ai retrouvé une fonction XL4 : CELLULE.ACTIVE() ! Je l'ai dépoussiérée et utilisée dans un nom.

Juste une petite macro de recalcul à chaque changement de cellule active. L'avantage de cette fonction, c'est que même si tu sélectionnes une plage, c'est uniquement la cellule active qui est prise en compte :)

[file name=Pour_Andre.zip size=6816]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Pour_Andre.zip[/file]

En espérant que ça réponde à ce que tu souhaites faire ;)

A+
 

Pièces jointes

  • Pour_Andre.zip
    6.7 KB · Affichages: 186

Tibo

XLDnaute Barbatruc
Bonjour à tous,

Formule complète de ce que j'ai proposé au-dessus :

=INDIRECT(GAUCHE(ADRESSE(1;CELLULE('col');4);(CELLULE('col')>26)+1)&CELLULE('ligne'))

Avec la macro de recalcul proposée par Lionel, ça devrait fonctionner également.

@+

Edition : Y a plus court (peu importe que l'on soit en mode A1 ou L1C1) :

=INDIRECT('L'&CELLULE('ligne')&'C'&CELLULE('col');0)

@+

Message édité par: tibo, à: 13/05/2006 12:23

Edition 2 : Je suis bon pour le Zop :

=CELLULE('contenu')

Tellement plus (trop ?) simple :silly:

Cela dit, la formule que j'ai proposé peut servir lorsqu'on ne veut que la ligne active (ou la colonne) Ex :

=INDIRECT('L'&CELLULE('ligne')&'C10');0)


Merci à Lionel

Message édité par: tibo, à: 13/05/2006 12:32
 

andré

XLDnaute Barbatruc
Salut à vous tous,

Merci Tibo (et les autres) pour le coup de pouce.

En pièce jointe ce que j'essaie de réaliser.
Ce n'est pas encore tout à fait au point, mais c'est déjà un début.

Je devrais pouvoir limiter la formule nommée (cellule active) à la liste de validation.

Je continue, mais en attendant vous avez déjà quelque chose à vous mettre sous la dent (lol).

Â+ [file name=MultiSelectionPourListeDeValidation.zip size=3009]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MultiSelectionPourListeDeValidation.zip[/file]
 

pierrejean

XLDnaute Barbatruc
bonjour tous

je n'ai pas tout saisi

notamment en ce qui concerne les formules

je propose néanmoins ce fichier avec

en A1 la formule =CELLULE('contenu';$x$y)

en C1 A1+B1

la formule en A1 est actualisée à chaque changement de selection par l'adresse de la cellule selectionnée

en final donc on trouve en C1 B1+selection [file name=celluleactive.zip size=6598]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/celluleactive.zip[/file]
 

Pièces jointes

  • celluleactive.zip
    6.4 KB · Affichages: 193
  • celluleactive.zip
    6.4 KB · Affichages: 148
  • celluleactive.zip
    6.4 KB · Affichages: 145

andré

XLDnaute Barbatruc
Salut peirrejean,

Terrible ta petite macro, merci.

Je vais voir si je puis m'en inspirer pour améliorer ma petite demo, dont tu n'as problement pas eu le temps de prendre connaissance.

Mais que cela ne t'empêche pas de faire de même (lol).

Â+

EDITION :
Simplement pour corriger quelques fautes de frappe.
Ainsi Gérard ne pourra m'en faire la remarque (lol).

Message édité par: andré, à: 13/05/2006 14:16
 

Tibo

XLDnaute Barbatruc
Salut André,

Pas mal le coup de la concaténation avec la cellule active.

Cependant, je n'ai pas trop compris ce que tu voulais faire ensuite avec ce tableau, et ce que tu voudrais modifier ou améliorer.

Peux-tu m'éclairer davantage ?

@+

Edit : suite

Re,

Je viens de regarder plus en détail ta formule en colonne B.

On peut faire plus simple (tout à l'heure, j'avais moi aussi compliqué 'inutilement') :

En B1 :

=SI(CELLULE('contenu')=0;A1;CELLULE('contenu')&' '&A1)

et plus besoin d'utiliser INDIRECT ou de nommer une cellule.

@+

Message édité par: tibo, à: 13/05/2006 14:47
 

andré

XLDnaute Barbatruc
Salut Tibo,

Tu as entièrement raison, avec 'contenu' c'est beaucoup plus simple !

A quoi cela peut bien servir ?
J'ai une liste reprenant les noms des ouvriers de l'entreprise (colonne A).
Chaque ouvrier a une ou plusieurs compétences (colonne B).
Lorsque je forme une équipe pour un chantier, par une MFC je parviens à visualiser les noms qui ouvriers qui pourraient former cette équipe.

Ce qu'il faut améliorer ?
Si je sélectionne une cellule en dehors de la liste de validation, le contenu de cette cellule vient se mettre en colonne B.

Mais j'y arriverai.

Â+
 

Tibo

XLDnaute Barbatruc
Re André,

En testant le n° de colonne de la cellule active :

=SI(CELLULE('col')DIFFERENT DE4;A1;CELLULE('contenu')&' '&A1)

Si tu rentres des données ailleurs, les formules de la colonne B ne bougnet pas.

J'espère avoir bien compris.

@+
 

pierrejean

XLDnaute Barbatruc
re andré Tibo

j'ai repris ma macro pour eviter les changements en dehors de la plage D1:D8

et le plus curieux c'est que cela a marché aussi pour les formules

il y en a des choses qui me depassent !!! [file name=MultiSelectionPourListeDeValidation_20060513154817.zip size=8593]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MultiSelectionPourListeDeValidation_20060513154817.zip[/file]
 

Pièces jointes

  • MultiSelectionPourListeDeValidation_20060513154817.zip
    8.4 KB · Affichages: 138

Discussions similaires

Statistiques des forums

Discussions
312 218
Messages
2 086 366
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang