Macro : Incrémenter une suite logique

  • Initiateur de la discussion SWEAT
  • Date de début
S

SWEAT

Guest
Bonjour,

J'aimerai trouver une astuce pour qu'après avoir mis la valeur de la cellule A4 il me mette la valeur suivante avec l'exemple suivant : 1, 2, 3... comment lui dire qu'après il passe pour que A4 = 2, A4 = 3, A4=4... car après chaque valeur j'aimerai exécuter une autre macro pour éviter de recopier ceci pour chaque valeur le maximum sera de 300.

Range("A4").Select
ActiveCell.FormulaR1C1 = "1"
Range("A4").Select
ActiveCell.FormulaR1C1 = "2"
Range("A4").Select
ActiveCell.FormulaR1C1 = "3"
...
Merci beaucoup pour votre aide.
 
C

chris

Guest
Bonjour
Quel est le but :
que ça réagisse à chaque saisie ?
Dans ce cas il faut associer le code à la feuille et ne pas le mettre dans un module
le procedure doit s'appeler
Private Sub Worksheet_Change(ByVal Target As Range)

recherche sur ce forum et dans l'aide les macros événementielles.

Chris
 
@

@+Thierry

Guest
Bonjour Chris, Colt, le Forum

J'espère que vous avez tous et toutes passés une bonne fête de la musique ...

Pour Sweat, en fait, tout dépend du type d'action que tu souhaites pour déclencher cette procédure, car tu n'es pas clair sur ce que tu veux.

Dans les Privates Module du Classeur tu as différents moyens de déclenchement de macro évènementielles :
"ThisWorkBook" permettant, par exemple, de déclencher un code à l'ouverture du classeur "Workbook_Open", ou à la fermeture "Workbook_BeforeClose", ou encore à chaque activation (changement) de feuilles "Workbook_SheetActivate"...

Dans chacune des feuilles tu as aussi un Private Module permettant de capter des évènements tels que "Calculate" ou encore "SelectionChange"

Par exemple :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A4") = Range("A4").Value + 1
End Sub

Ce code incrémentera de "+ 1" la valeur de la cellule "A4" à chaque fois que tu changeras de sélection dans la Feuille où tu auras mis ce code...

Pour accéder à un Private Module de Feuille, depuis Excel, Click Droit sur l'Onglet de la Feuille, puis, "Visualiser le Code"...

Sinon il y a d'autres moyens, mais tu n'as pas été assez précis.

Bon Appétit
@+Thierry
 
S

SWEAT

Guest
Merci pour vos infos mais elles ne m'aident pas beaucoup. En fait ce que je veux c'est que la cellule s'ajoute d'1 à chaque fois (la 1ere réponse de Christophe est très bien la dessus) mais ensuite une fois qu'elle a ajouté 1 je veux qu'elle exécute une macro que j'ai mis en place (ce qui marche très bien) mais cela ne fonctionne que une fois. Il faut à chaque fois que je clique sur le bouton pour qu'elle éxecute ma macro en fait je voudrai qu'elle l'éxecute en boucle.

Merci pour votre aide (si vous ne comprenez pas c'est pas grave je suis sur le bon chemin et je crois que je ne vais pas tarder à trouver)
 

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 453
Membres
104 169
dernier inscrit
alain_geremy