Excel calcul sur cellule active
Résolu/Fermé
touroul
-
8 mai 2012 à 10:01
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 15 mai 2012 à 21:08
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 15 mai 2012 à 21:08
A voir également:
- Cellule active excel formule
- Formule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel - Guide
- Formule excel si et - Guide
17 réponses
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
8 mai 2012 à 10:33
8 mai 2012 à 10:33
bonjour
si j'ai bien compris, avec une macro à mettre dans le module de la feuille (modifier la constante plage)
bonne suite
si j'ai bien compris, avec une macro à mettre dans le module de la feuille (modifier la constante plage)
Const plage = "A1:A10" Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(plage)) Is Nothing Then If Target.Row = 1 Then Exit Sub Else Target.Offset(1, 0).Value = Target.Value + Target.Offset(-1, 0) End If End If End Sub
bonne suite
Ouf ! Merci pour ce début de réponse.
C'est le moment pour moi de plonger dans les macros.
J'ai donc créé cette macro (onglet développeur>Macro)
J'ai donné le nom "KM" à cette macro, j'ai recopié ton code.
J'ai fermé pour revenir sur mon tableau.
Puis j'ai cliqué sur "Macros", et KM a disparu ...
D'autre part, à quoi correspond "A1:A10" ?
Merci de donner suite !
C'est le moment pour moi de plonger dans les macros.
J'ai donc créé cette macro (onglet développeur>Macro)
J'ai donné le nom "KM" à cette macro, j'ai recopié ton code.
J'ai fermé pour revenir sur mon tableau.
Puis j'ai cliqué sur "Macros", et KM a disparu ...
D'autre part, à quoi correspond "A1:A10" ?
Merci de donner suite !
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
8 mai 2012 à 11:03
8 mai 2012 à 11:03
re
1. il faudrait d'abord voir si j'ai bien compris ta question, la sélection d'une cellule de la plage provoque l'addition de la cellule active et de celle qui est au dessus et met le résultat dans la cellule en dessous (de la cellule active)
https://www.cjoint.com/?0Eik5r6oIYo
2. si oui
2.1. la macro doit être copiée telle que dans le module de la feuille où elle doit s'appliquer (clic-droit sur l'onglet/visualiser le code)
2.2. la macro s'appliquera ici, uniquement sur la plage "A1:A10", à toi de modifier cette plage selon tes besoins
bonne suite
1. il faudrait d'abord voir si j'ai bien compris ta question, la sélection d'une cellule de la plage provoque l'addition de la cellule active et de celle qui est au dessus et met le résultat dans la cellule en dessous (de la cellule active)
https://www.cjoint.com/?0Eik5r6oIYo
2. si oui
2.1. la macro doit être copiée telle que dans le module de la feuille où elle doit s'appliquer (clic-droit sur l'onglet/visualiser le code)
2.2. la macro s'appliquera ici, uniquement sur la plage "A1:A10", à toi de modifier cette plage selon tes besoins
bonne suite
D'accord d'accord ...
Merci ccm81
Pour plus de simplicité, je joins une partie de mon fichier :
http://cjoint.com/?BEilr5NJzAT
Lorsque je clique sur E3, je voudrais qu'en A1 s'affiche le résultat du calcul E3-C3
Lorsque je clique sur E4, je voudrais qu'en A1 s'affiche le résultat du calcul E4-C4
Voilà plus concrètement le résultat à obtenir.
C'est certainement plus simple avec un exemple
Merci ccm81
Pour plus de simplicité, je joins une partie de mon fichier :
http://cjoint.com/?BEilr5NJzAT
Lorsque je clique sur E3, je voudrais qu'en A1 s'affiche le résultat du calcul E3-C3
Lorsque je clique sur E4, je voudrais qu'en A1 s'affiche le résultat du calcul E4-C4
Voilà plus concrètement le résultat à obtenir.
C'est certainement plus simple avec un exemple
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
Modifié par ccm81 le 8/05/2012 à 11:31
Modifié par ccm81 le 8/05/2012 à 11:31
re
1. je ne peux pas lire ton fichier, si tu dois l'envoyer, mets le au format excel 2003
2. ta demande n'est plus tout à fait la même !
3. le code est encore plus simple (appliqué à la plage E1:E10)
bonne suite
1. je ne peux pas lire ton fichier, si tu dois l'envoyer, mets le au format excel 2003
2. ta demande n'est plus tout à fait la même !
3. le code est encore plus simple (appliqué à la plage E1:E10)
Const plage = "E1:E10" Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range(plage)) Is Nothing Then Range("A1").Value = Target.Value - Target.Offset(0, -2) End If End Sub
bonne suite
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
8 mai 2012 à 12:06
8 mai 2012 à 12:06
Bonjour tout le monde,
pourquoi tout cela en vba pour la question 1 ?
=SOMME($A$1:A2)
à recopier vers le bas ne suffit pas ?
eric
pourquoi tout cela en vba pour la question 1 ?
=SOMME($A$1:A2)
à recopier vers le bas ne suffit pas ?
eric
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
8 mai 2012 à 12:15
8 mai 2012 à 12:15
bonjour eric
apparemment, #4, touroul veut le résultat de sa soustraction en A1 quelle que soit la cellule cliquée en colonne E
bon appétit
apparemment, #4, touroul veut le résultat de sa soustraction en A1 quelle que soit la cellule cliquée en colonne E
bon appétit
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
Modifié par eriiic le 8/05/2012 à 13:23
Modifié par eriiic le 8/05/2012 à 13:23
je parlais de la 1ère question, qcq chose m'échappe mais pas grave...
Me revoilou, désolé j'étais parti baquer mes filles ...
Effectivement, c'est bien le fait d'introduire la variabilité de la cellule active qui rend le problème complexe.
Voici mon fichier simplifié en version Excel 2003 :
http://cjoint.com/?BEimv4vhxJb
C'est vrai, j'avais bêtement rendu le problème plus compliqué qu'il ne l'est en réalité !
Bon, je bute sur un problème simple :
Je ne sais pas enregistrer une macro :
J'ai affiché l'onglet Développeur, je clique sur Macros, je nomme en "KM", je modifie son contenu avec le code fourni, j'enregistre le fichier, je ferme VBA, et une fois dans ma feuille, ma macro est introuvable.
OK, j'ai des progrès à faire, mais là je déprime.
J'aimerais pouvoir créer Victoire (surtout un 8 mai ...)
Help !
Effectivement, c'est bien le fait d'introduire la variabilité de la cellule active qui rend le problème complexe.
Voici mon fichier simplifié en version Excel 2003 :
http://cjoint.com/?BEimv4vhxJb
C'est vrai, j'avais bêtement rendu le problème plus compliqué qu'il ne l'est en réalité !
Bon, je bute sur un problème simple :
Je ne sais pas enregistrer une macro :
J'ai affiché l'onglet Développeur, je clique sur Macros, je nomme en "KM", je modifie son contenu avec le code fourni, j'enregistre le fichier, je ferme VBA, et une fois dans ma feuille, ma macro est introuvable.
OK, j'ai des progrès à faire, mais là je déprime.
J'aimerais pouvoir créer Victoire (surtout un 8 mai ...)
Help !
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
Modifié par ccm81 le 8/05/2012 à 13:14
Modifié par ccm81 le 8/05/2012 à 13:14
re
1. tu n'as pas bien lu mon post 3 (2.1.) à propos du module de feuille
2. ton fichier mise à jour (clic-droit sur l'onglet de la feuille/visualiser le code et modifier la plage)
https://www.cjoint.com/?0EinbojDpjD
3. on peut aussi nommer la plage E3:Exx de façon dynamique pour éviter d'avoir à modifier la constante (un ajour de ligne est pris en compte automatiquement)
https://www.cjoint.com/?0EinlHEvwXK
4. pas de quoi déprimer
5. bon courage pour la "création" de la Victoire
bonne suite
1. tu n'as pas bien lu mon post 3 (2.1.) à propos du module de feuille
2. ton fichier mise à jour (clic-droit sur l'onglet de la feuille/visualiser le code et modifier la plage)
https://www.cjoint.com/?0EinbojDpjD
3. on peut aussi nommer la plage E3:Exx de façon dynamique pour éviter d'avoir à modifier la constante (un ajour de ligne est pris en compte automatiquement)
https://www.cjoint.com/?0EinlHEvwXK
4. pas de quoi déprimer
5. bon courage pour la "création" de la Victoire
bonne suite
OUAOUHHH ! Ca fonctionne !
J'ai choisi le second code.
Il me reste à l'adapter à ma feuille.
J'y travaille et vous fait un reply ce soir.
Je n'ai pas grand chose à vous apporter en retour de votre aide, si ce n'est ma gratitude pour ce coup de main gratuit et désintéressé.
Je promets de dire où j'en suis.
Vous ne pouvez pas vous imaginer ce que m'apporte le plaisir de progresser dans Excel.
J'ai choisi le second code.
Il me reste à l'adapter à ma feuille.
J'y travaille et vous fait un reply ce soir.
Je n'ai pas grand chose à vous apporter en retour de votre aide, si ce n'est ma gratitude pour ce coup de main gratuit et désintéressé.
Je promets de dire où j'en suis.
Vous ne pouvez pas vous imaginer ce que m'apporte le plaisir de progresser dans Excel.
Bon, je viens d'y passer 2 heures, sans succès.
J'ai eu la naïveté de penser qu'en proposant un tableau simplifié, je parviendrais à adapter le code au tableau d'origine ... erreur !
Je ne m'en sors pas.
Cette fois, je joins le fichier complet, avec quelques explications sur le but à atteindre :
Version Excel 2003 : http://cjoint.com/?BEiqDs5VXNR
Version Excel 2010 avec macros : http://cjoint.com/?BEiqEQMVVFj
Donc voici le but précis de la manip, qui devrait me simplifier la vie.
Première chose : je ne souhaite pas alourdir mon tableau avec trois colonnes contenant le calcul précité, sachant que je manuscrits dessus lorsque je suis en voiture. C'est la raison de la présence en A1 de ce calcul "flottant" :
- Au clic sur une cellule de la colonne F3 à F5000, afficher en A1 le calcul F3-C3 (F4-C4, etc ...)
- Au clic sur une cellule de la colonne L3 à L5000, afficher en A1 le calcul L3-F3 (L4-F4, etc ...)
- Au clic sur une cellule de la colonne P3 à P5000, afficher en A1 le calcul P3-L3 (P4-L4, etc ...).
Voilà !
Si ce bout de code n'est pas trop difficile à écrire, voici de quoi vous casser la tête ! D'avance un grand merci.
Ma config : Windows 7 64bits, Excel 2010.
J'ai eu la naïveté de penser qu'en proposant un tableau simplifié, je parviendrais à adapter le code au tableau d'origine ... erreur !
Je ne m'en sors pas.
Cette fois, je joins le fichier complet, avec quelques explications sur le but à atteindre :
Version Excel 2003 : http://cjoint.com/?BEiqDs5VXNR
Version Excel 2010 avec macros : http://cjoint.com/?BEiqEQMVVFj
Donc voici le but précis de la manip, qui devrait me simplifier la vie.
Première chose : je ne souhaite pas alourdir mon tableau avec trois colonnes contenant le calcul précité, sachant que je manuscrits dessus lorsque je suis en voiture. C'est la raison de la présence en A1 de ce calcul "flottant" :
- Au clic sur une cellule de la colonne F3 à F5000, afficher en A1 le calcul F3-C3 (F4-C4, etc ...)
- Au clic sur une cellule de la colonne L3 à L5000, afficher en A1 le calcul L3-F3 (L4-F4, etc ...)
- Au clic sur une cellule de la colonne P3 à P5000, afficher en A1 le calcul P3-L3 (P4-L4, etc ...).
Voilà !
Si ce bout de code n'est pas trop difficile à écrire, voici de quoi vous casser la tête ! D'avance un grand merci.
Ma config : Windows 7 64bits, Excel 2010.
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
Modifié par ccm81 le 8/05/2012 à 18:18
Modifié par ccm81 le 8/05/2012 à 18:18
re
le code est du même type pour chacune des 3 plages concernées
V1. avec des plages fixes (lignes 3 ou 5 à 5000 - un clic après la dernière cellule remplie produit 0)
https://www.cjoint.com/?0EirWQyvEmh
V2. avec des plages dynamiques (un clic après la dernière cellule remplie ne produit rien)
https://www.cjoint.com/?0EiseeSABUg
Reste bien sûr à contrôler ....
bonne suite
le code est du même type pour chacune des 3 plages concernées
V1. avec des plages fixes (lignes 3 ou 5 à 5000 - un clic après la dernière cellule remplie produit 0)
https://www.cjoint.com/?0EirWQyvEmh
V2. avec des plages dynamiques (un clic après la dernière cellule remplie ne produit rien)
https://www.cjoint.com/?0EiseeSABUg
Reste bien sûr à contrôler ....
bonne suite
Formidable, c'est à peu de choses près le résultat à obtenir ! Un grand merci à vous. Deux remarques cependant :
1- Le calcul ne fonctionne pas en colonne P s'il n'y a pas de deuxième étape, c'est-à-dire si la colonne L est vide.
Peut-on ajouter une condition pour demander, en colonne P, de calculer Px-Fx si Lx est vide ?
2- Dans la V2, lorsque je sélectionne une colonne contenant des Km (F,L,P), j'obtiens le message d'erreur suivant :
-------------
Erreur d'exécution '13'
Incompatibilité de type
-------------
Peut-être est-ce parce que le code n'est pas défini jusqu'à la dernière cellule de la colonne ? (celle de la ligne 1 048 576)
Promis après cela, je cesse de vous demander de l'aide, vous en avez déjà fait beaucoup !
Voici la nouvelle version du fichier : http://cjoint.com/?BEitmnI9dg6
Marc
1- Le calcul ne fonctionne pas en colonne P s'il n'y a pas de deuxième étape, c'est-à-dire si la colonne L est vide.
Peut-on ajouter une condition pour demander, en colonne P, de calculer Px-Fx si Lx est vide ?
2- Dans la V2, lorsque je sélectionne une colonne contenant des Km (F,L,P), j'obtiens le message d'erreur suivant :
-------------
Erreur d'exécution '13'
Incompatibilité de type
-------------
Peut-être est-ce parce que le code n'est pas défini jusqu'à la dernière cellule de la colonne ? (celle de la ligne 1 048 576)
Promis après cela, je cesse de vous demander de l'aide, vous en avez déjà fait beaucoup !
Voici la nouvelle version du fichier : http://cjoint.com/?BEitmnI9dg6
Marc
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
Modifié par ccm81 le 8/05/2012 à 19:31
Modifié par ccm81 le 8/05/2012 à 19:31
comme ça ?
https://www.cjoint.com/?0EitxXA7kDr
RQ. j'ai vu que tu as mis toutes les lignes de début à 5, c'est bien ce que tu veux?
bon appétit
https://www.cjoint.com/?0EitxXA7kDr
RQ. j'ai vu que tu as mis toutes les lignes de début à 5, c'est bien ce que tu veux?
bon appétit
Cher CCM81
Bon appétit à toi aussi, chez nous c'est traiteur chinois, mmmmh !
Si les calculs commencent à la ligne 5 cela n'a aucune importance (ce sont mes débuts à ce poste ...)
Bonne nouvelle : il n'y a plus aucun problème, c'est ce que je visais à 100%
Je ne peux que remercier et m'incliner devant le talent !
Si je peux te rendre service à mon tour (HTML, Windows, recherche d'emploi en biologie, ...) n'hésite pas.
A bientôt ! Je ferai un dernier reply après quelques jours d'utilisation.
Bonne soirée
Marc
Bon appétit à toi aussi, chez nous c'est traiteur chinois, mmmmh !
Si les calculs commencent à la ligne 5 cela n'a aucune importance (ce sont mes débuts à ce poste ...)
Bonne nouvelle : il n'y a plus aucun problème, c'est ce que je visais à 100%
Je ne peux que remercier et m'incliner devant le talent !
Si je peux te rendre service à mon tour (HTML, Windows, recherche d'emploi en biologie, ...) n'hésite pas.
A bientôt ! Je ferai un dernier reply après quelques jours d'utilisation.
Bonne soirée
Marc
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
15 mai 2012 à 19:31
15 mai 2012 à 19:31
J'ai encore une doléance ...
Dans le fichier : https://www.cjoint.com/?BEptCHJTkdi
en cas d'absence de donnée en colonnes F et L, peux-tu mettre en place en A1 le calcul : (Px-Cx)/2 ?
Merci d'avance !
Marc
Dans le fichier : https://www.cjoint.com/?BEptCHJTkdi
en cas d'absence de donnée en colonnes F et L, peux-tu mettre en place en A1 le calcul : (Px-Cx)/2 ?
Merci d'avance !
Marc
ccm81
Messages postés
10853
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 avril 2024
2 404
15 mai 2012 à 21:03
15 mai 2012 à 21:03
voila ... en principe
https://www.cjoint.com/?0Epvct9XRIx
bonne soirée
https://www.cjoint.com/?0Epvct9XRIx
bonne soirée
touroul
Messages postés
465
Date d'inscription
mardi 5 octobre 2010
Statut
Membre
Dernière intervention
29 janvier 2024
15
15 mai 2012 à 21:08
15 mai 2012 à 21:08
Une fois de plus, c'est parfait.
Service rapide en plus.
Bonne soirée à toi, moi je vais lâcher mes 3 PC qui me bouffent mon temps et aller regarder un film ...
Bonne soirée à toi et aux tiens et encore merci.
Marc
Service rapide en plus.
Bonne soirée à toi, moi je vais lâcher mes 3 PC qui me bouffent mon temps et aller regarder un film ...
Bonne soirée à toi et aux tiens et encore merci.
Marc