Macro Automatique

pedro123456

XLDnaute Junior
Bonjour bonjour!!!


J'ai actuellement une macro qui prend des donnees dans une certaines case et les transforme, es-ce possible d'automatiser cette macro? \
je m'explique j'aimerais qu'elle se lance tout le temps en fait comme ca des qu'il y a une donnee la ou il faut, pas besoin d'appuyer sur play macro ou de faire le raccourci clavier.

Es-ce possible?
 

Jacques87

XLDnaute Accro
Re : Macro Automatique

bonjour Pedro, bonjour Bernard,

pour reprendre ce que te dis Bernard, voici un exemple de code :

PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage As range
set plage = Range("A1:G5")
If not Application.Intersect(Target,Plage) Is Nothing Then
ma_macro
End If
End Sub

Tu places ce code dans la feuille concernée.
ma_macro étant le nom de ta macro
et plage étant la plage de cellules concernées, ici j'ai choisi A1 à G5

Bon courage
 
Dernière édition:

pedro123456

XLDnaute Junior
Re : Macro Automatique

Super pour vos reponses, je vois le truc, cependant cela ne marche toujours pas!

j'ai copier cela dans ma feuille qui se nomme summary,
( j'y suis aller dans Microsoft visual basic, sheet summary et general)

Excel me met en rouge la commande
Private Sub Worksheet_SelectionChange(By Val Target As Range)

Private Sub Worksheet_SelectionChange(By Val Target As Range)
Dim plage As Range
Set plage = Range("A1:G5")
If Not Application.Intersect(Target, plage) Is Nothing Then
ma_macro
End If
End Sub

pouvez-vous sinon m'envoyer un petit fichier exemple?? MERCI BCP jacques et Bernard
 
Dernière édition:

Jacques87

XLDnaute Accro
Re : Macro Automatique

Salut Pedro,

Excuse moi pour la faute de frappe que Romain a immédiatement corrigée.

Pourquoi as tu dopé ta macro ?
Si elle tourne en boucle c'est qu'il y a dans cette dernière une instruction génante.
Peux tu nous la faire parvenir, qu'on y jette un coup d'oeil

A+
 

pedro123456

XLDnaute Junior
Re : Macro Automatique

REhello tout le monde, et merci jacques, bernard et romain bref tout le monde/

Voila j'ai evite le loop pour ceux que ca interesse en faisant cela

Cependant j'ai un dernier probleme,

Donc la quand jecris kkchose dans la cellule par exemple B20, ex 2
ma macro se lance que lorsque je reclique sur cette cellule et non pas tout de suite, je ne sais pas pkoi! et je ne sais pas si c assez clair ce que je raconte!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage As Range
Set plage = Range("B20:H20")
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub

On Error Resume Next

If Not Application.Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
test
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
 

Gorfael

XLDnaute Barbatruc
Re : Macro Automatique

pedro123456 à dit:
REhello tout le monde, et merci jacques, bernard et romain bref tout le monde/

Voila j'ai evite le loop pour ceux que ca interesse en faisant cela

Cependant j'ai un dernier probleme,

Donc la quand jecris kkchose dans la cellule par exemple B20, ex 2
ma macro se lance que lorsque je reclique sur cette cellule et non pas tout de suite, je ne sais pas pkoi! et je ne sais pas si c assez clair ce que je raconte!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim plage As Range
Set plage = Range("B20:H20")
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub

On Error Resume Next

If Not Application.Intersect(Target, plage) Is Nothing Then
Application.EnableEvents = False
test
Application.EnableEvents = True
On Error GoTo 0
End If
End Sub
Salut

Je comprends pas tout :
- tu déclenche la macro quand tu change de sélection. WorkSheet_Change dès la validation de la modification : sélectionne 5 cellules et valides leur modifications par Tab, et il ne se passe rien avec Selection_Change.

- tu déclenche une macro, mais tu ne cherche pas à transmettre des infos sur la modification

- si tu faisais une gestion basique des erreurs, ce serait plus simple

- tu gères comment une erreur dans ta macro test ?
A+
 

Discussions similaires

Réponses
4
Affichages
453