Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro évenementielle

  • Initiateur de la discussion Initiateur de la discussion andré
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

andré

Guest
Salut à vous,

Quelqu'un peut-il m'aider avec le code d'une macro :

En A1 j'ai un nombre (p.ex. 200)
A2 (format %) et A3 (format standard) sont soit vides, soit remplis.
Lorsque je tape 70 en A2, 70 % s'affiche, mais aussi 140 en A3
Lorsque je tape 120 en A3, 120 s'affiche mais aussi 60 % en A2

J'ai enregistré cette double macro, qui fonctionnent bien, mais ce que je souhaite c'est :
qu'elle s'enclenche par le simple fait de valider une des deux valeurs (A2 ou A3).
que la valeur en A3 se modifie automatiquement si je modifie la valeur en A1(comme s'il y avait une formule en A3)
que cette macro soit valable pour plusieurs séries de trois cellules placées toujours dans le même ordre, dans la même colonne et sur la même feuille.

Question subsidiaire (j'avais presqu'oublié !), comment indiquer à XL les séries de trois cellules sur lesquelles cette macro est d'application.

Je dois bien avouer que je ne suis pas parvenu à résoudre cette procédure par formules.

Merci d'avance.
Ândré.
 
Salut,

Fais à ton aise, y pas le feu.

Comme disent mes amies, je préfère bien, même si je dois attendre un peu (à cause de mon âge - lol), que vite et mal fait !

Ândré.
 
A essayer!
la détection des cellules se fait par la lecture de la couleur du nombre, ont peut imaginer d'autres solutions.


Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
If Target.Offset(0, -1).Interior.ColorIndex = 3 Then
Target.Offset(0, 1) = Target.Offset(0, -1) * Target
End If
If Target.Offset(0, -2).Interior.ColorIndex = 3 Then
Target.Offset(0, -1) = Target / Target.Offset(0, -2)

End If
End Sub
 
Bonsoir André

Ci joint une proposition (honnête)

Pour faire "comme une formule" en A3 j'ai multiplié par A1 par 4, histoire d'avoir qqchose de concret

Ne sachant pas si tu le souhaitais, je n'ai pas traité le cas de A1 (comme s'il y avait une formule en A1)

Bonne soirée et n'abuse pas de la duvel en lisant la macro

Amicalement (au passage, merci pour toutes tes astuces excel et les autres)
Michel
 

Pièces jointes

Re,

J'avais mal lu ton post et en plus par précipitation, je m'étais planté dans la macro. Je reprends tout çà
question: les séries de 3 cellules doivent elles bien être dans la m^m colonne ?


Excuses
Michel
 
Salut à vous tous,

Tout d'abord un grand merci pour votre empressement à essayer de m'aider en répondant à mon (petit) problème.

En A1 j'ai un nombre, que j'introduis manuellement (dans mon cas : le nombre de m2 construit)
En A2 le % de m2 vendables (compte tenu des surfaces communes : escaliers, ascenseurs, ...)
En A3 le nombre de m2 vendables (surfaces privatives) : =A1*A2

Idem pour les surfaces commerciales, commerces, bureaux, parkings, ...

Toutes ces données sont bien dans une et même colonne.

Ne vous pressez pas, je ne suis pas encore au bout de ma réserve.

Ândré.
 
Bonjour André

Désolé mais pas mal de trucs au boulot dont une bécane en carafe (je croyais être tranquille).

Et puis.... Voir le post "aide sur listbox" dans la série "je suis c... ou quoi".

j'essaierai peut-être ce soir ou cet après-midi mais...

Excuses moi
Michel
 
Salut à tous

Voici une solution éventuelle
le fonctionnel est celui demandé.
les cellules à modifier sont en colonnes ABC, les cellules des colonnes DEF ne servent qu'à détecter un chgt. J'ai utilisé un Worksheet_selectionChange qui est dans ce cas beaucoup plus rapide qu'un Worksheet_Change. Il faut par contre définir dans la macro les plages des cellules servant de référence au test.
Dans le fichier, j'ai défini deux plages de référence A1:A3 et A6:A8 mais leur nombre peut être plus important

Cordialement, A+
 

Pièces jointes

Ândré, tous

Absent hier, je n'ai pas pu te répondre.

J'ai essayé avec des formules.
Tu avais sans doute pensé à cette solution mais, bon, on ne sait jamais ...

Ma solution présente un petit inconvénient (voir pièce jointe). Tout dépend des utilisateurs.

Je ne me suis pas penché sur un code mais d'autres l'ont fait.

Merci de nous dire si l'une ou l'autre solution te convient.

En espérant que cela te dépanne.

Abel
 

Pièces jointes

Salut andré, le forum

Je n'avais pas vu que les données n'étaient pas en ligne, revoila le même prog avec cette fois ci les données en colonnes. Les lignes 4 à 6 ne sont la que pour la détection et peuvent être masquées.

Cordialement, A+
 

Pièces jointes

Salut à vous tous,

Merci beaucoup pour vos réponses, mais hélas, j'ai un gros problème sur mon PC au bureau, il ne veut plus ouvrir les pièces jointes XL (bien les Word !).
Et comme ce soir je ne suis pas au bercail, je devrai attendre demain soir avant de pouvoir en prendre connaissance.
Je ne manquerai pas de vous tenir au courant.

En attendant, je vous souhaite une bonne fin de semaine.
Ândré.
 
Bonsoir à tous

Ci joint une autre proposition.

Une seule colonne "A" et des modules de 3 m2 de base, %, m2 vendables

La macro détectant dans quel cas tu te trouves avec l'opérateur modulo3

Je n'ai pas vérifié à fond mais ca me trainait dans la tête depuis l'autre jour...donc, avant d'aller regarder Thalassa, 1 des rares émissions françouaise de télé sympa, j'ai voulu terminer et te soumettre ma bidouille

Bonne soirée
Michel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
884
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…