Déclanchement automatique du programme

Damarice

XLDnaute Nouveau
Salut tout le monde

Voilà je travaille sur un programme qui demande un mois à l'utilisateur avec un InputBox pour faire des traitements sur des données en fonction de ce mois . Je voudrais pouvoir designer une cellule de ma feuille où j'entrerai le mois et automatiquement le programme fait tous les traitements. Si quelqu'un peut m'expliquer comment ca marche ou connait un tuto qui l'explique je lui en serais reconnaissant.

merci d'avance.
 

CHALET53

XLDnaute Barbatruc
Re : Déclanchement automatique du programme

Bonjour,

En utilisant la gestion évènementielle
Regarde et adapte le modèle dans fichier joint
Pour voir la macro : clic droit sur onglet feuil1 ou feuil2 et visusaler le code

A adapter
 

Pièces jointes

  • WORKSHEET CHANGE.xls
    26.5 KB · Affichages: 44
  • WORKSHEET CHANGE.xls
    26.5 KB · Affichages: 45
  • WORKSHEET CHANGE.xls
    26.5 KB · Affichages: 46

Damarice

XLDnaute Nouveau
Re : Déclanchement automatique du programme

Désolé je n'y arrive pas j'avais déjà essayer de reproduire un modéle assez similaire .Mon Code est trop long pour que je puisse le publier sur le forum alors je vais essayer d'expliquer comment je m'y suis pri:

J'ai remplacer le Sub Nomdemamacro ()
Par Private Sub Worksheet_Change(ByVal Target As Range)


Je déclare mes variables
et aprés j'ai mis le if et tout mon code a l'interieur :

If Not (Intersect(Target, Feuil1.Range("A30")) Is Nothing) Then

Et à la place de
M = InputBox("Entrez le mois que vous voulez pour le Budjet")
J'ai mis M=Target
Tout mon code

End if

De plus une fois l'éditeur Visual Basic fermer je n'arrive plus a accéder a mon code méme en faisant clic droit sur les feuille puis visualiser le code.

Quelqu'un sait ou je me trompe ?
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Déclanchement automatique du programme

Bonjour,

La saisie se fait en A30:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$30" And Target.Count = 1 Then
    mamacro Target.Value
  End If
End Sub

Dans un module:

Code:
Sub mamacro(m)
  MsgBox m
  '...
  '...
End Sub
JB
 

Damarice

XLDnaute Nouveau
Re : Déclanchement automatique du programme

Je ne suis pas sur de tout bien comprendre, en gros :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$30" And Target.Count = 1 Then
mamacro Target.Value
End If
End Sub

Ca c'est la fonction principale qui avec cette ligne:mamacro Target.Value
fait appel à un sous programme qui est en fait ma macro.

Sinon j'ai un autre probléme ma macro va chercher des données dans 4 feuille différentes et la fameuse cellule A30 ne se trouve pas dans la feuille1 alors je pense qu'il faudrait préciser dans la ligne : If Target.Address = "$A$30" And Target.Count = 1 Then , Dans quel feuille se situe la cellule A30.
 

Damarice

XLDnaute Nouveau
Re : Déclanchement automatique du programme

Ca y ai j'ai compris d'ou venait mon erreur . En fait je rédigé le code mais dans l'éditeur visual Basic comme pour mes macro non automatique alors qu'il fallait que je copie/colle le code dans la feuille de code spécifique a la feuille ou j'avais ma cellule A30.

Merci Beaucoup pour votre aide
 

Discussions similaires

Réponses
15
Affichages
875
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 650
Messages
2 090 518
Membres
104 564
dernier inscrit
MAV57