Rechercher : dans
Par :

Macro mise à jour auto valeur par cellule?

Dernière réponse le 14 avr 2009 à 10:44:41 jemakaku, le 14 avr 2009 à 09:15:01 
 Signaler ce message aux modérateurs

Bonjour,
j'ai une fonction qui fonctionne très bien :
"""
Function ValColonneCm()
ValColonneCm = Format(Selection.ColumnWidth / 4.663, "0.000")
End Function
"""
Elle affiche la taille, en cm, de la colonne de la cellule où elle est exécutée. (la cellule contient donc sa largeur)

Le problème c'est que cette fonction ne se met pas à jour automatiquement quand je change la taille de la colonne, je suis obligé de rentré dans la cellule, faire F2 puis ENTER. Ce qui, vu le nombre d'ajustements que je dois faire, me faire perdre beaucoup de temps.

J'ai tenté un :
"""
Application.Volatile
"""
En début de fonction, ca fonctionne déjà mieux (toutes les fonctions se mettent à jour au lieu d'une seule quand je fais la même manipulation) Sauf que la valeur n'est calculée qu'une seule fois et qu'elle est donc affichée partout pareil.
Exemple une colonne de 4cm, une de 2 et une de 6, je fais F2 puis ENTER sur celle de 6cm et, dans toutes les colonnes, serra affiché 6cm.

Cette fréquence de rafraîchissement des informations me suffirait si c'était calculé correctement donc si quelqu'un a une idée pour que j'ai les bonnes informations qui s'affichent au lieu de tout le temps la même, je suis preneur.
Cependant l'idéal serrait que cette information soit mise à jour automatiquement à chaque modification de taille de colonne.

Merci d'avance pour votre aide. :-)

Jema

Configuration: Windows XP
Firefox 3.0.7

Meilleures réponses pour « Macro mise à jour auto valeur par cellule? » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
Mise à jour d'AntiVir impossible ? VoirImpossible de mettre à jour AntiVir Suite à l'installation de l'antivirus AntiVir, vous n'arrivez pas à le mettre à jour ? Pas de panique. Problème : Lorsque vous cliquez sur "Démarrer la mise à jour", rien ne se produit ? Cause : Une...
[appareils Philips] Mise a jour firmware ou codec VoirMise a jour du firmware ou des codecs Philips pour - lecteur DVD de salon - lecteur et graveur interne PC Philips International a mis en place une nouvelle mise en page pour la recherche des firmwares et des drivers de ses appareils :...
Télécharger Norton Antivirus Mise à jour VoirVoici la dernière mise à jour téléchargeable pour l'antivirus Norton pour vous assurer une protection optimale contre les virus. Prend en charge les versions suivantes des logiciels antivirus de Symantec : Norton Antivirus 2009 for Windows XP...

1

jemakaku, le 14 avr 2009 à 10:43:00

Merci à Pierrot93 sur un autre forum pour sa réponse. (question de rapidité! ;-) )

Je poste pour ceux que ca intéresse.

La fonction devient :
"""
Function ValColonneCm(maplage As Range)
Application.Volatile
ValColonneCm = Format(maplage.ColumnWidth / 4.663, "0.000")
End Function
"""
et pour l'appel, ce n'est plus simplement "=ValColonneCm()" mais "=ValColonneCm(A1)" (A1 représente les coordonnées de la cellule où se trouve la fonction)

Jema

Répondre à jemakaku

2

lermite222, le 14 avr 2009 à 10:43:12
  • +2

Bonjour,
Normale que tu ai toujours la même largeur vu que tu travaille sur la sélection, faut faire..

Public Function LgColonne()
    Application.Volatile
    LgColonne = Format(Application.Caller.ColumnWidth / 4.663, "0.000")
End Function

Et après avoir changer une ou plusieurs largeurs tu tape F9 pour forcer un recalcul.
A+
L'expérience instruit plus sûrement que le conseil. (André Gide)  
Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)

Répondre à lermite222

3

 jemakaku, le 14 avr 2009 à 10:44:41

Yeahhhhhh, ta solution est plus élégante et plus facile à utiliser.

Tu es le vainqueur, question d'efficacité! ^^

Merci beaucoup! :-)

Jema

Répondre à jemakaku
Collection CommentÇaMarche.net