Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,
1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour,1°) trouver une fonction qui fait le même travail
[...]
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Bonjour,
1°) trouver une fonction qui fait le même travail
[...]
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Bonjour,1°) trouver une fonction qui fait le même travail
[...]
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
Bonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
BanjoBonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
Banjo
Bonjour,
1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
BanjoBonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"anonymousA" a écrit dans le message de
news:47512bb4$0$27373$Bonjour,1°) trouver une fonction qui fait le même travail
[...]2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de
news:47512bb4$0$27373$ba4acef3@news.orange.fr...
Bonjour,
1°) trouver une fonction qui fait le même travail
[...]
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Bonjour anonyme,
"Application.screenupdating=true pour figer et False pour le contraire."
Quelle funeste confusion cérébrale, c'est tout le contraire !
;o))
--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"anonymousA" a écrit dans le message de
news:47512bb4$0$27373$Bonjour,1°) trouver une fonction qui fait le même travail
[...]2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
[...]
Décidement ce matin, j'ai pas les yeux en face des trous.J'avais oublié
le End if et les guillements autour de $A$1. C'est l'age surement !!
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "$A$1" Then
MsgBox "quelque chose"
Mon Programme
End if
End SubBonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
BanjoBonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Décidement ce matin, j'ai pas les yeux en face des trous.J'avais oublié
le End if et les guillements autour de $A$1. C'est l'age surement !!
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "$A$1" Then
MsgBox "quelque chose"
Mon Programme
End if
End Sub
Bonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
Banjo
Bonjour,
1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.
2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.
3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+
Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
Banjo
Bonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo
Décidement ce matin, j'ai pas les yeux en face des trous.J'avais oublié
le End if et les guillements autour de $A$1. C'est l'age surement !!
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "$A$1" Then
MsgBox "quelque chose"
Mon Programme
End if
End SubBonjour anonymousA,
Merci baucoup pourton aide.
1°) j'entendais par fonction une fonction Excel type sommeprod(...) avec
évidemment une forme matricielle vu le besoin
2°) merci, où avais-je la tête
3°) j'ai essayé ce genre de formulation, mais sans MsgBox et surtout sans
succès, même lorsque le libellé était If target.Address = $A$1, c'est
pourquoi je pensais ne pas avoir déclaré cette macro correctement ou ne pas
l'avoir mise au bonne endroit.
Cela écrit, merci encore.
Je réessaierais plus tard, il faut d'abord que je fasse le repas des enfants.
Cordialement,
BanjoBonjour,1°) trouver une fonction qui fait le même travail
ca c'est à toi de voir, mais rappelle toi que les fonctions définies par
l'utilisateur (User Defined Functions ou UDF) n'agissent pas sur autres
chose que sur le résultat de la cellule dans laquelle la formule faisant
appel à ces fonctions est placée et qu'elles peuvent être très lentes
sauf à en faire des fonctions dans une xll mais c'est une autre paire de
manches. Par ailleurs, il faudra sans doute en reforcer le calcul.2°) figer l'affichage pendant l'exécution de la macro (je ne me
souviens plus de la fonction)
Application.screenupdating=true pour figer et False pour le contraire.3°) trouver une solution pour que la macro s'exécute à chaque
changement dans une plage de cellules définie. J'ai essayé avec les
lancements sur évènement, mais je n'ai pas réussi à la faire fonctionner
correctement.
par exemple avec une cellule dont l'adresse est $A$1. Une cellule ne
peut avoir comme adresse une chaine de caractères telles que "ZoneCellules"
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = $A$1 Then
MsgBox "quelque chose"
Mon Programme
End Sub
Enfin, si ta sub ( ici Mon Programme) agit sur des cellules de la
feuille en les selectionnant, il faudra mettre avant l'appel à Mon
Programme l'instruction Application.enableeventsúlse puis la même
instruction = True après, car sinon, tu risques de rentrer dans une
boucle infernale sauf si c'est ce que tu souhaites, mais là encore c'est
à toi de voir.
A+Bonjour,
Finalement, n'ayant pas réussi à le faire sous forme de fonction (dommage,
j'aurais préféré), je l'ai fait à l'aide d'une macro. Mais cela m' impose de
la lancer à chaque fois que je veux faire une mise à jour.
Les points qui me reste à régler sont :
1°) trouver une fonction qui fait le même travail
2°) figer l'affichage pendant l'exécution de la macro (je ne me souviens
plus de la fonction)
3°) trouver une solution pour que la macro s'exécute à chaque changement
dans une plage de cellules définie. J'ai essayé avec les lancements sur
évènement, mais je n'ai pas réussi à la faire fonctionenr correctement. Par
exemple
Private Sub Worksheet_SelectionChange(ByVal target As Range)
If target.Address = "ZoneCellules" Then MsgBox
Mon Programme
End Sub
Mon programme fonctionne correctement tou seul, mais pas lorsque je l'insère
dans la macro sur évènement.
Peut-être est-ce que je ne déclare pas tout ce qu'il faut ou que je
l'implante mal.
Merci d'avance à la personne qui voudra bien m'aider.
Cordialement,
BanjoBonjour,
Je cherche, à partir d'un tableau de données, à classer des risques suivant
leur niveau. Et j'avoue que je coince.
Mon problème est que mon tableau peut faire apparaître le même risque à
différents endroits. Et c'est à partir la somme des évaluations de risque
attribuées à chacun que je voudrait classer les différents risques.
J'ai essayé de travailler à partir de la solution de CrisV (n°475), mais
cela implique de faire la somme au préalable et en évitant les doublons. Et
là, je ne trouve pas non plus de solution, hormis un tableau croisé
dynamique, mais impose une mise à jour à chaque changement.
Si quelqu'un connaît une solution et veut bien la partager, je suis
intéressé et le remercie d'avance.
Cordialement,
Banjo